|
|
有人能解释电脑是如何做这个equation么??我逻辑差T.T- int fib(int n)
- {
- if (n < 2)
- return n;
- else
- return fib(n-1) + fib(n-2);
- }
- cout << fib(10) << endl;
复制代码- return fib(n-1) + fib(n-2);
复制代码 这段怎样解释啊??fib=Fibonacci數列 |
|
|
|
|
|
|
|
|
|
|
发表于 2-11-2011 10:34 AM
|
显示全部楼层
|
将两个fib()的结果相加,然后把运算结果传回给呼叫这个Function的程式。 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 2-11-2011 05:50 PM
|
显示全部楼层
回复 2# geekman - #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;
- }
复制代码 if n=10
b=55
b=fib(10-1)+fib(10-2)
b怎样=55呢,,,,对不起我真的很笨T.T |
|
|
|
|
|
|
|
|
|
|
发表于 2-11-2011 08:36 PM
|
显示全部楼层
|
呃。。。我对“肥婆拿旗”不是很熟悉,解答不了你的问题。如果你问的是编程的问题,我可以答,不过数学的问题,我帮不了你。。。 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 2-11-2011 10:11 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 3-11-2011 10:19 PM
|
显示全部楼层
回复 6# littlepenguin
我明白了...之前只是不明白的事如果要找fib(10),电脑是如何知道fib(8)和fib(9)的ans原来要loop回去n=1,n=0
谢谢 |
|
|
|
|
|
|
|
|
|
|
发表于 17-11-2011 03:59 PM
|
显示全部楼层
如果用FOR LOOP
不要用RECURSIVE CALL就不会酱COMPLEX... |
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|