关于c++中的一个母牛生小牛的问题详细解答与体会
来源:互联网 发布:淘宝网大童夏装 编辑:程序博客网 时间:2024/05/21 06:00
近来我们这些刚学c++的菜鸟不太懂得母牛生小牛的问题,我查了查,最后有简明表达了自己的两句理解性语言,希望和我一样的同学们能过更好的理解…… #include <iostream> 其中a,b,c,依次向前推得,就像滚雪球那样,随着年份的增加他也要变化,这就是a=b,b=c,c=temp的意思了。
using namespace std;
void main()
{
int n;
long a=1, b=1, c=1, temp;
cout <<"please input a value:/n";
cin >>n;
for(int i=4; i<=n; i++){
temp=a+c; a=b; b=c; c=temp;
}
cout << c <<endl;
} 先建立数学模型吧。第1年,2年,3年,4年……的牛数目分别为:
1 1 1 2 3 4 6 9 13 19.....
可以看出从第四年开始后,第i年的牛数。a[i]=a[i-1]+a[i-3]
int a[100];
int n;
a[1]=1;
a[2]=1;
a[3]=1;
cout <<"please input a value:/n";
cin >>n;
for(int i=4;i<=n;i++)
{
a[i]=a[i-1]+a[i-3];
}
cout<<a[n]<<endl;
}
可能比较好理解吧,不过用到了数组。。。。。。相比之下,效率就没有楼主贴出的高了
楼主贴出中的
temp=a+c; a=b; b=c; c=temp;
就拿i=6来说吧
i=3的时候a=1;b=1;c=1
i=4的时候temple=1+1;a=b=1;b=c=1;c=temple=2;
i=5的时候temple=2+1;a=b=1;b=c=2;c=temple=3;
i=6的时候temple=3+1;a=b=2;b=c=3;c=temple=4;
可以看出计算第i年的是时候,temple=a+c。这个时候,c的值是i-1年的c值,而a呢,是i-3年的c值.
- 关于c++中的一个母牛生小牛的问题详细解答与体会
- 母牛生小牛的问题
- 母牛生小牛问题
- 递归求解母牛生小牛问题
- 面向对象的“母牛生小牛”
- 母牛生小牛
- 母牛生小牛
- 母牛生小牛
- 母牛生小牛二
- 母牛生小牛
- 1227 -- 母牛生小牛
- 母牛生小牛
- 母牛生小牛
- 母牛生小牛
- 母牛生小牛 oj131
- 母牛生小牛
- 利用面向对象解母牛生小牛问题
- 母牛生小牛[特殊的斐波那契数列]
- developerworks-ClearQest版每天读帖精华选摘-100427
- DataTable中 创建新列和给列赋值方法
- MyEclipse 无法加载工作空间(Workspace)
- Apache Tomcat 6.0.18与JDK的安装配置
- DevExpress DXperience-9.3.4破解使用
- 关于c++中的一个母牛生小牛的问题详细解答与体会
- C程序中头文件相互包含精华(网摘小结)
- 把下列代码放到或者之间 alert('……')是右键单击引发的事件,你
- 超链接设置
- c语言中的文件读写
- 限制textarea字数(防粘贴)
- 华为面试题
- apache-commons项目介绍
- 限制textarea字符