佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1132|回复: 6

C++寻求帮助

[复制链接]
发表于 2-11-2011 02:53 AM | 显示全部楼层 |阅读模式
有人能解释电脑是如何做这个equation么??我逻辑差T.T
  1. int fib(int n)
  2. {
  3.   if (n < 2)
  4.     return n;
  5.   else
  6.     return fib(n-1) + fib(n-2);
  7. }
  8. cout << fib(10) << endl;
复制代码
  1. return fib(n-1) + fib(n-2);
复制代码
这段怎样解释啊??fib=Fibonacci數列
回复

使用道具 举报


ADVERTISEMENT

发表于 2-11-2011 10:34 AM | 显示全部楼层
将两个fib()的结果相加,然后把运算结果传回给呼叫这个Function的程式。
回复

使用道具 举报

 楼主| 发表于 2-11-2011 05:50 PM | 显示全部楼层
回复 2# geekman
  1. #include<iostream>
  2. using namespace std;
  3. long fib(long n)
  4. {
  5.   if (n==1)
  6.   return 1;
  7.   else if (n==0)
  8.   return 0;
  9.   else return fib(n-1)+fib(n-2);
  10. }
  11. int main()
  12.       {   
  13.             int x, n, b;
  14.             for(x=0;x<5;x++)
  15.              {
  16.                   cout<<"enter an integer: ";
  17.                   cin>>n;
  18.                   b=fib(n);
  19.                   cout<<"Fibonacci("<<n<<") :"<<b<<endl;
  20.              }               
  21.       system("pause");
  22.       return 0;
  23. }
复制代码
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 | 显示全部楼层
回复 4# geekman


   没关系~还是谢谢你
回复

使用道具 举报

 楼主| 发表于 3-11-2011 10:19 PM | 显示全部楼层
回复 6# littlepenguin


   我明白了...之前只是不明白的事如果要找fib(10),电脑是如何知道fib(8)和fib(9)的ans原来要loop回去n=1,n=0
谢谢
回复

使用道具 举报

Follow Us
发表于 17-11-2011 03:59 PM | 显示全部楼层
如果用FOR LOOP
不要用RECURSIVE CALL就不会酱COMPLEX...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT


本周最热论坛帖子本周最热论坛帖子

ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 12-11-2025 01:09 PM , Processed in 0.087397 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表