关闭

C++学习笔记——第二章习题(三)

619人阅读 评论(0) 收藏 举报
//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;
   }
  }
 }
}//---------------------------比较简单,算出范围就行 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:6378次
    • 积分:109
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:0篇
    • 译文:0篇
    • 评论:8条
    文章存档
    最新评论