JBTALKS.CC
标题:
『C++』菜鸟问关于math .__.
[打印本页]
作者:
聖賢
时间:
2011-11-2 02:50 AM
标题:
『C++』菜鸟问关于math .__.
本帖最后由 聖賢 于 2011-11-2 03:06 AM 编辑
请问这个equetion是怎样算的啊....
#include<iostream>
using namespace std;
long fib(long n)
{
if (n==1)
return 1;
else if (n==0)
return 0;
else return fib(n-1)+fib(n-2);
}
int main()
{
int x, n, b;
for(x=0;x<5;x++)
{
cout<<"enter an integer: ";
cin>>n;
b=fib(n);
cout<<"Fibonacci("<<n<<") :"<<b<<endl;
}
system("pause");
return 0;
复制代码
else return fib(n-1)+fib(n-2);
复制代码
有人可以解释电脑是怎样做这个equetion么??
作者:
newpages4u
时间:
2011-11-2 04:38 AM
一直recursive到找出答案为止
作者:
~Zero
时间:
2011-11-2 09:57 AM
let n = 5
fib(5) = fib(4) + fib(3)
fib(4) = fib(3) + fib(2)
fib(3) = fib(2) + fib(1)
fib(2) = fib(1) + fib(0) = 1 + 0 = 1
所以
fib(3) = fib(2) + fib(1) = 1 + 1 = 2
fib(4) = fib(3) + fib(2) = 2 + 1 = 3
fib(5) = fib(4) + fib(3) = 3 + 2 = 5
作者:
聖賢
时间:
2011-11-2 05:49 PM
if n=10
b=55
b=fib(10-1)+fib(10-2)
b怎样=55呢,,,,对不起我真的很笨T.T
作者:
随苇轻摇
时间:
2011-11-2 06:13 PM
if n=10
b=55
b=fib(10-1)+fib(10-2)
b怎样=55呢,,,,对不起我真的很笨T.T
聖賢 发表于 2011-11-2 05:49 PM
let n = 10
fib(10) = fib(9) + fib(8)=55
fib(9) = fib(8) + fib(7)=34
fib(8) = fib(7) + fib(6)=21
fib(7) = fib(6) + fib(5)=13
fib(6) = fib(5) + fib(4)=8
fib(5) = fib(4) + fib(3)=5
fib(4) = fib(3) + fib(2)=3
fib(3) = fib(2) + fib(1)= 2
fib(2) = fib(1) + fib(0)= 1
fib(1) = 1
fib(0) = 0
作者:
聖賢
时间:
2011-11-3 03:13 PM
回复
5#
随苇轻摇
明白了,
意思就是,,,
fib(4)=fib(3)+fib(2)
fib(4)=( fib(2)+fib(1) ) +( fib(1)+ fib(0) )
是这样么??刚才吃饭的时候在想着就明白了
谢谢哦
欢迎光临 JBTALKS.CC (https://jbtalks.my/)
Powered by Discuz! X2.5