兔子繁殖问题
2014-06-16 16:40
246 查看
1.成年兔子,每年能生一对兔子,小兔子两年后成年,某人有一对兔子,假设兔子不死,且每次所生的兔子,都能恰好一对,则n年后,该人有兔子多少只?
我们可以容易想到,第n年的兔子数量为第n-1和n-2年兔子数量之和.(亦如斐波那契数列)
思路如下,也可以递推得到.
2.关于斐波那契数列的求法可以用
F(n) = | 1 1 | × | F(n-1) | = | 1 1 | ^ (n-1) * | 1 |
F(n-1) | 1 0 | | F(n-2) | | 1 0| | 1 |
有阵可以快速幂来求,此法可以提高效率。
3.那如果有每只兔子寿命都只有四年第n年的兔子在n+4年会死亡。那麽如下即可
第n年的兔子数量为第n-1和n-2年兔子数量之和减去n-4年的兔子.
我们可以容易想到,第n年的兔子数量为第n-1和n-2年兔子数量之和.(亦如斐波那契数列)
思路如下,也可以递推得到.
#include <stdio.h> int getNum(int n) { if(n==1||n==2) return 1; else return getNum(n-1)+getNum(n-2); } int main() { int n; printf("input number:\n"); scanf("%d",&n); while(n>=1) { printf("The Number of rabit is:%d\n",getNum(n)); printf("inputnumber:\n"); scanf("%d",&n); } return 0; }
2.关于斐波那契数列的求法可以用
F(n) = | 1 1 | × | F(n-1) | = | 1 1 | ^ (n-1) * | 1 |
F(n-1) | 1 0 | | F(n-2) | | 1 0| | 1 |
有阵可以快速幂来求,此法可以提高效率。
3.那如果有每只兔子寿命都只有四年第n年的兔子在n+4年会死亡。那麽如下即可
第n年的兔子数量为第n-1和n-2年兔子数量之和减去n-4年的兔子.
#define NUMBER rabitcount #include <stdio.h> int getNum(int n) { if(n==1||n==2) return NUMBER; else return getNum(n-1)+getNum(n-2); } int getNum(int n) { if(n==1||n==2) return 1; else if(n==3) return 2; else if(n==4) return 3; else if(n==5) return 4; else {returngetNum(n-1)+(getNum(n-2)-getNum(n-4);} }
相关文章推荐
- 【程序2】兔子繁殖问题
- 兔子繁殖问题
- 作业七-ID-1095-Problem A: 兔子的繁殖问题
- 每日一题 No.15 兔子繁殖问题(斐波那契数列)
- 递推递归练习 -A 母牛问题 / / E .兔子繁殖问题
- 兔子、母牛繁殖问题(递归、非递归)
- ZZULIOJ【1055】兔子繁殖问题【递推】&&【斐波那契】
- 【基础试题】兔子繁殖问题 Time Limit:1000MS Memory Limit:65536K Total Submit:674 Accepted:263 Description 有
- 兔子繁殖问题,设有一对新生兔子,从第四个月开始他们每个月月初都生一对兔子 新生的兔子从第四个月月初开始又每个月生一对兔子 按此规律,并假定兔子没有死亡,n(n <= 20)个月月末共有多少对兔子?
- java算法--兔子繁殖问题
- 每日一练------兔子繁殖问题(斐波那契)
- zzuli OJ 1055: 兔子繁殖问题
- 斐波那契数列——兔子繁殖问题
- 11.17 作业 Problem A: 兔子的繁殖问题
- 兔子繁殖问题即斐波那契数列的java实现
- 兔子繁殖问题
- Fibonacci数列(兔子繁殖问题)
- 【程序2】兔子繁殖问题
- [Pascal][简单题]兔子繁殖问题
- 兔子繁殖问题