正文

母牛生小牛问题2007-03-16 15:20:00

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

分享到:

    前段时间看钱能的C++程序设计教程,有一个母牛生小牛问题:有一头母牛,从出生第四年起,每一年都生一头小母牛,以此类推,第N年时共有多少头母牛。    这应该也是一个Fibonacci数,和我的另一篇文章母兔生小兔基本一样(http://blog.programfan.com/trackback.asp?id=24000)只是算法有点出入,规律应该是:年份    小牛    中牛    老牛    总头数1       1          0       0         12       0          1       0         13       0          0       1         14       1          0       1         25       1          1       1         36       1          1       2         47       2          1       3         68       3          2       4         9。。。。。。 即:n=(n-1)+(n-3) 编程实现: #include<iostream>#include<iomanip>using namespace std;int main(){ long f1,f2,f3; f1=f2=f3=1; for(int i=1;i<=10;i++) {  cout<<setiosflags(ios::left);  cout<<setw(16)<<f1<<setw(16)<<f2<<setw(16)<<f3;  f1=f1+f3;  f2=f2+f1;  f3=f3+f2; } return 0;}  用递归函数实现如下: #include<iostream>#include<iomanip>using namespace std;int main(){ long fac(int); long n; cout<<"输入要查询的年份"; cin>>n; cout<<fac(n)<<endl; return 0;}long fac(int n){ if(n<=3)  return 1; else      return fac(n-1)+fac(n-3);}

阅读(5413) | 评论(2)


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

评论

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