C语言 关于 斐波那契Fibonacci数列 的问题 源代码如下: 255

#include<stdio.h>#include<math.h>doublef(intn)//求斐波那契(Fibonacci)数列的第n项{doublefn;fn=1/... #include <stdio.h>
#include <math.h>
double f(int n) //求斐波那契(Fibonacci)数列的第n项
{
double fn;
fn = 1 / sqrt(5.0) * (pow ((1 + sqrt(5)) / 2, n) - pow ((1 - sqrt(5)) / 2, n));//斐波那契(Fibonacci)数列通项
return fn;
}
int count(double x) //求x前面的斐波那契 数的个数(不包括x)
{
int i;
for (i = 1; ; i++)
{
if (f(i) >= x)
return (i - 1);
}
}
int countt(double x) //求x前面的斐波那契 数的个数(包括x)
{
int i;
for (i = 1; ; i++)
{
if (f(i)>=x)
{
if(f(i)>x) return i-1;
else return i;
}

}
}
int main()
{
printf("%d %d",count(13),countt(13));
}

运行结果是 6 6
不过不应该是 6 7 吗?
展开
 我来答
匿名用户
2016-10-23
展开全部

fn = 1 / sqrt(5.0) * (pow ((1 + sqrt(5)) / 2, n) - pow ((1 - sqrt(5)) / 2, n));//


这应该是错了


~



已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式