兔子生兔子问题
来源:互联网 发布:王者荣耀战绩数据分析 编辑:程序博客网 时间:2024/03/28 19:35
//问题描述:兔子生兔子问题:有一对兔子,,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对
//兔子,假如兔子都不死,问每个月的兔子总数为多少?(假设我们要求打印出第一个月到第二十个月的兔子总数)
//可以得出规律:第一个月的兔子总数是1,第二个月的兔子总数是1,从第三个月开始,兔子总数是前两个月的兔子总数之和
//方法1:只用循环#include <iostream>using namespace std;int main(){int t1=1,t2=1;int t3;const int month=12; //第12月for(int i=3; i<=month; ++i){t3=t1+t2; //第i月的兔子总数是前两个月的兔子总数之和 //更新第i+1个月的前两个月的兔子总数t1=t2; t2=t3;}cout<<"第"<<month<<"月的兔子总数是:"<<t3<<endl;return 0;}
//方法二:利用vector存储#include <iostream>#include <vector>using namespace std;int main(){vector<int>total;const int month=12; //第12月total.push_back(1); //第一月的兔子总数是1total.push_back(1); //第二月的兔子总数是1for(int i=3; i<=month; ++i){total.push_back(total[i-3]+total[i-2]); //第i月的兔子总数是第i-2月和第i-1月的兔子总数之和}cout<<"第"<<month<<"月的兔子总数是:"<<total[month-1]<<endl;return 0;}
//方法三:采用递归方法,利用函数递归#include <iostream>using namespace std;int GetTotalByMonth(int month) //根据第month月求出该月的兔子总数{if(month==1 || month==2)return 1;return GetTotalByMonth(month-2)+GetTotalByMonth(month-1);}int main(){const int month=12; //第12月cout<<"第"<<month<<"月的兔子总数是:"<<GetTotalByMonth(month)<<endl;return 0;}
//方法四:采用递归方法,利用模版元编程#include <iostream>using namespace std;template<int n>class GetTotalByMonth{public:enum{total=GetTotalByMonth<n-2>::total+GetTotalByMonth<n-1>::total}; //兔子总数是前两个月的兔子总数之和};template<>class GetTotalByMonth<1> //第一月的兔子总数为1{public:enum{total=1};};template<>class GetTotalByMonth<2> //第二月的兔子总数为1{public:enum{total=1};};int main(){const int month=12; //第12月cout<<"第"<<month<<"月的兔子总数是:"<<GetTotalByMonth<12>::total<<endl;return 0;}
0 0
- 兔子生兔子问题
- 兔子生兔子问题
- 兔子生兔子问题
- 兔子生兔子问题
- 兔子生兔子问题
- 兔子生兔子的问题
- Java兔子生兔子问题
- java古典问题:兔子生兔子
- 兔子生崽问题
- java 生兔子问题
- 生兔子问题后续
- 兔子生崽问题
- 兔子生兔子
- python兔子生兔子
- 兔子问题
- 兔子问题
- 兔子问题
- 兔子问题
- Cocos2dx3.0 rc 导入cocosStudio1.3.0.0示例场景
- 【计算机网络常见面试题】利用IP地址和子网掩码求网络号和主机号
- Hive.WHERE子句的“陷阱”
- float布局问题汇总
- 利用位运算处理权限分配来优化数据库存储,并且提高运算效率
- 兔子生兔子问题
- node.js之express4.x使用命令创建一个ejs项目及常用命令
- Phonegap修改全屏/非全屏设置 Html5
- codeforces 2C Commentator problem
- 第八讲 MFC的进程和线程
- linux的poll机制
- handlerThread
- 面向对象编程中的聚合与耦合
- 跑了OrzNet的Demo