一道C语言题目思路

来源:百度知道 编辑:UC知道 时间:2024/05/30 12:01:48
请问一下,用C解一个数学问题的思路,我数学不太好,看不太懂,谁帮我解释下思路!多谢!

F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)

phi=(1+sqrt(5))/2

F(n)/F(n-1)会无限趋近于phi

当n递增时

求n为什么时,F(n)/F(n-1)-phi比10的负6次方小!

设置一个for循环或者while循环,限制条件为:F(n)/F(n-1)-phi>=10-6

由于精度的问题,条件可改为1000000*F(n)/F(n-1)-1000000*phi>=1。

F(0)=0,F(1)=1;
int n=2;
while(1000000*F(n)/F(n-1)-1000000*phi>=1)
{
F(n)=F(n-1)+F(n-2);
n++;
}

System.out.println(“%d”,n)

其他自己补全,包括函数。

while(结果比10e-6大)
{
tmp = f(n-1);
f(n-1) = f(n);
f(n) = tmp+f(n-1);

结果 = f(n)/f(n-1) - phi;
计数 ++;
}

最后计数就是n的值

n=2,的时候就可以了吧???
我编了一个,整了我好久哦,结果都是N=2.。。。我郁闷了。是不是题出错了??