C++学习笔记——第二章习题(三)
2007-09-29 16:37
489 查看
//2.9--------------母牛问题:若一头母牛,从出生第四个年头每年生一头母牛,第n年有多少头母牛?---------------------------------------
cout<<"输入第几个年头:";
int m;
cin>>m;
int cow1=1,cow2=0,cow3=0,cow4=0;//前四年生牛
for(int i=2;i<=m;i++){
cow4=cow4+cow3;
cow3=cow2;
cow2=cow1;
// cow4=cow4+cow3;
cow1=cow4;
cout<<"第"<<i<<"年,一年牛"<<cow1<<"只,两年牛"<<cow2<<"只,三年牛"
<<cow3<<"只,母牛"<<cow4<<"只,总共"
<<cow1+cow2+cow3+cow4<<"只"<<endl;
}
//-----------------------这个问题在网上有很多种不同的解法,有些用到了递归,有些将问题继续扩展如到第几个年头母牛不产仔,和牺牲。我按照自己的理解,将牛分成四种一年生的牛——四年以上的母牛,按年循环,最终得出总牛数,哦my god,母牛们真厉害!!生牛也能成个问题!好像还是个著名的什么什么序列!!---------------------------------
//2.10-----------------小球从100米高度落下,每次反弹回原高度的一半,求第十次落地时经过多少米,落地后反弹多少米?-----------------------------------
double m=100,sum=100;
for(int i=2;i<=11;i++){
m=m/2;
sum+=(m*2);
cout<<"第"<<i-1<<"次落地后弹起"<<m<<"米"<<endl;
cout<<"第"<<i<<"次落地时经过路程"<<sum<<"米"<<endl;
}
//-------------------------似曾相识,比较简单,只要注意距离计算来回路程就行了-------------------------------
//2.11-------------------将100元兑换成10元,5元,1元,求不同种兑换方法,要求每种兑换方法都要包括这三种纸币---------------------------------
cout<<"100元钱可以兑换成:"<<endl;
double x;
for(int i=1;i<=9;i++){
for(int j=1;j<=17;j++){
for(int k=1;k<=85;k++){
x=10*i+5*j+k;
if(x==100){
cout<<"10元"<<i<<"张,5元的"<<j<<"张,1元的"<<k<<"张"<<endl;
}
}
}
}//---------------------------比较简单,算出范围就行
cout<<"输入第几个年头:";
int m;
cin>>m;
int cow1=1,cow2=0,cow3=0,cow4=0;//前四年生牛
for(int i=2;i<=m;i++){
cow4=cow4+cow3;
cow3=cow2;
cow2=cow1;
// cow4=cow4+cow3;
cow1=cow4;
cout<<"第"<<i<<"年,一年牛"<<cow1<<"只,两年牛"<<cow2<<"只,三年牛"
<<cow3<<"只,母牛"<<cow4<<"只,总共"
<<cow1+cow2+cow3+cow4<<"只"<<endl;
}
//-----------------------这个问题在网上有很多种不同的解法,有些用到了递归,有些将问题继续扩展如到第几个年头母牛不产仔,和牺牲。我按照自己的理解,将牛分成四种一年生的牛——四年以上的母牛,按年循环,最终得出总牛数,哦my god,母牛们真厉害!!生牛也能成个问题!好像还是个著名的什么什么序列!!---------------------------------
//2.10-----------------小球从100米高度落下,每次反弹回原高度的一半,求第十次落地时经过多少米,落地后反弹多少米?-----------------------------------
double m=100,sum=100;
for(int i=2;i<=11;i++){
m=m/2;
sum+=(m*2);
cout<<"第"<<i-1<<"次落地后弹起"<<m<<"米"<<endl;
cout<<"第"<<i<<"次落地时经过路程"<<sum<<"米"<<endl;
}
//-------------------------似曾相识,比较简单,只要注意距离计算来回路程就行了-------------------------------
//2.11-------------------将100元兑换成10元,5元,1元,求不同种兑换方法,要求每种兑换方法都要包括这三种纸币---------------------------------
cout<<"100元钱可以兑换成:"<<endl;
double x;
for(int i=1;i<=9;i++){
for(int j=1;j<=17;j++){
for(int k=1;k<=85;k++){
x=10*i+5*j+k;
if(x==100){
cout<<"10元"<<i<<"张,5元的"<<j<<"张,1元的"<<k<<"张"<<endl;
}
}
}
}//---------------------------比较简单,算出范围就行
相关文章推荐
- C++学习笔记——第二章习题(四)-用循环语句打印图案
- C++学习笔记-第二章习题(二)
- C++Primer Plus笔记——第二章 开始学习C++及课后习题答案
- C++学习笔记 | 第二章 变量和基本类型 | (1)
- 第七章:函数--c++的编程模块 学习笔记、习题答案(6)
- The C++ Programming Language Special 3rd Edition学习笔记-[3]第二章 C++概览
- 《C++ Primer Plus(第六版)》(1)(第二章 开始学习C++ 笔记和答案)
- C++学习笔记 | 第二章 变量和基本类型 | (2)
- C++学习笔记(二)C++primer 部分习题和知识点
- C++学习笔记之第二章:常量和变量
- C++ primer plus(第六版)学习笔记、习题答案(2)
- C++程序设计(第二版)第二章学习笔记
- 2012/1/8 《C++ Primer Plus》第二章:开始学习C++ 学习笔记
- C++ primer plus(第六版)学习笔记、习题答案(4.2)
- C++ primer plus(第六版)学习笔记、习题答案(1)
- 深入浅出MFC学习笔记:(第一章:win32基本概念,第二章:C++的重要性质)
- C++ primer plus(第六版)学习笔记、习题答案(5)
- C++ primer plus(第六版)学习笔记、习题答案(3)
- 2012/1/8 《C++ Primer Plus》第二章:开始学习C++ 学习笔记
- c++学习笔记 第二章 c++ 简单程序设计