Chinaunix首页 | 论坛 | 博客
  • 博客访问: 229396
  • 博文数量: 39
  • 博客积分: 1130
  • 博客等级: 少尉
  • 技术积分: 453
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-26 15:54
文章分类

全部博文(39)

文章存档

2012年(1)

2011年(31)

2010年(7)

分类: C/C++

2011-07-11 15:25:21

   约定:小兔子(xtz)一个月后变为中兔子(ztz),中兔子一个月后变成大兔子(dtz)
   由于:
     每个月的大兔子数目为上个月大兔子数目与上个月中兔子数目之和;
     每个月的中兔子数目为上个月小兔子数目;
     每个月的小兔子数目为本月大兔子数目。
   故
  1. /*
  2. 一对小兔子在出生两个月后每个月都生出一对小兔子。
  3. 如果所有兔都不死,那么半年以后可以繁殖成多少对兔子?
  4. */
  5. #include <stdio.h>
  6. #include <stdlib.h>

  7. int main( void )
  8. {
  9.   int xtz = 1 , ztz = 0 ,dtz = 0 ;//小兔子,中兔子,大兔子数目
  10.   
  11.   //一个月后
  12.   dtz += ztz ; // 大兔子数增加 ztz 对
  13.   ztz =  xtz ; // 中兔子数为上月小兔子数
  14.   xtz =  dtz ; // 小兔子数为本月大兔子数
  15.   
  16.   //二个月后
  17.   dtz += ztz ; // 大兔子数增加 ztz 对
  18.   ztz =  xtz ; // 中兔子数为上月小兔子数
  19.   xtz = dtz  ; // 小兔子数为本月大兔子数
  20.    
  21.   //三个月后
  22.   dtz += ztz ; // 大兔子数增加 ztz 对
  23.   ztz =  xtz ; // 中兔子数为上月小兔子数
  24.   xtz =  dtz ; // 小兔子数为本月大兔子数
  25.   
  26.   //四个月后
  27.   dtz += ztz ; // 大兔子数增加 ztz 对
  28.   ztz =  xtz ; // 中兔子数为上月小兔子数
  29.   xtz =  dtz ; // 小兔子数为本月大兔子数

  30.   //五个月后
  31.   dtz += ztz ; // 大兔子数增加 ztz 对
  32.   ztz =  xtz ; // 中兔子数为上月小兔子数
  33.   xtz =  dtz ; // 小兔子数为本月大兔子数
  34.   
  35.   //六个月后
  36.   dtz += ztz ; // 大兔子数增加 ztz 对
  37.   ztz =  xtz ; // 中兔子数为上月小兔子数
  38.   xtz =  dtz ; // 小兔子数为本月大兔子数
  39.   
  40.   printf("半年以后可以繁殖成%d对兔子\n" , xtz + ztz + dtz );
  41.     
  42.   system("PAUSE");    
  43.   return 0;
  44. }
   由于xtz,ztz,dtz这几个变量不但用于记录前一个月兔子的数量,也用于记录本月兔子的数量,一定要确保前面的数据不再使用之后才能改变其值。因此
     dtz += ztz ; // 大兔子数增加 ztz 对
     ztz =   xtz ; // 中兔子数为上月小兔子数
     xtz =   dtz ; // 小兔子数为本月大兔子数
的计算次序一定不能弄错。事实上,Program(程序)这个词本身就包含“次序”的含义。
阅读(1743) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~