正文

C++入门实例之编程初步二2007-03-16 14:44:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/2588/24000.html

分享到:

        这是一个古老的数学问题,有一对免子,从出生第三个月起每个月都生一对兔子,假如兔子都不死的话,求每个月兔子的总对数。这实际上是一个Fibonacci数,即前两个数是1,第三个数起,其后的每个数都是前面两个数之和。即:1    1    2    3    5    8    13......因此可用递归算法实现: #include<iostream>#include<iomanip>using namespace std;int main(){  long f1=1,f2=1;  for(int i=1;i<=10;i++)         //求20个月时每个月兔子的总对数   {       cout<<setw(16)<<f1<<setw(16)<<f2;    //每次输出两个月        f1=f1+f2;        f2=f2+f1;    }  return 0;}         如果要实现某一个月的兔子的总对数,可用函数的递归调用: #include<iostream>#include<iomanip>using namespace std;int main(){  long fac(int );  cout<<"输入要查询的月份:";  int n;  cin>>n;  cout<<fac(n)<<endl;  return 0;}long fac(int n){  if(n<=2)    return 1;  else          return fac(n-1)+fac(n-2);}

阅读(2208) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册