首页   |   IT资讯   |   综合资讯   |   开发   |   软件   |   问答   |   网络技术   |   网络综合
更多:
当前位置:首页 » 手机数码
文章正文

我是菜瓜,高手给我看看程序有无问题???拜托!

类型:转载   责任编辑:asp   日期:2007/03/01

    

钱能的c++程序设计教程(p76页):  
  编程求解:若一头母牛,从出生起第四个年头开始每年生一头母牛,按此规律,第n年有多少头母牛?  
  算法:如下表(超过4岁的为老母牛)  
  年份     1岁母牛数   2岁母牛数   3岁母牛数     4岁母牛数   老母牛   总数  
  1                   1                     0                         0                 0               0         1  
  2                   0                     1                         0                 0               0         1  
  3                   0                     0                         1                 0               0         1  
  4                   1                     0                         0                 1               0         2  
  5                   1                     1                         0                 0               1         3  
  6                   1                     1                         1                 0               1         4  
  7                   2                     1                         1                 1               1         6  
  8                   3                     2                         1                 1               2         9  
  设第一年总母牛数为f1;第二年为f2;  
  依次不难看出:f4=f3+f1;f5=f4+f2;f6=f5+f3;f7=f6+f4;f8=f7+f5;等等  
  于是程序如下(求10年的数量):  
  #include<stdio.h>  
  main()  
  {  
  long   int   f1,f2,f3;  
  int   i;  
  f1=f2=f3=1;  
  for(i=1;i<10;i++)  
  {printf("%16ld\n,%16ld\n,%16ld\n",f1,f2,f3);  
  f1=f1+f3;  
  f2=f2+f1;  
  f3=f3+f2;  
  }  
  }  
   
  程序运行结果:1     1     1     2     3       4       6           9     13       19     28     41       60       88     129       189         277       406         595         872       1278       1873  
  2745         4023         5896       8641         12664  
   
  -----------------------------------------------  
  上述的程序对否??有没有更好的算法解决这个问题???  
 

推荐阅读

  • CPU造假让神话破灭 我们还能信赖什么? [详细内容]
  • 主板全球供应链原材料短缺危机恐再现 [详细内容]
  • 3300快捷键的使用 [详细内容]
  • 戴尔主页惊现二手商店 竟无任何保修 [详细内容]
  • 我国供应链管理人才缺口逾百万 [详细内容]
  • T28优缺点集合——保留区整理 [详细内容]
  • 国庆真实体验:在家电卖场买DV合适吗? [详细内容]
  • 网友回答:
    网友:ttlb

    今年的头数等与去年加大前年?  
      也就是说大前年的头数等于去年大于等于四岁的头数?  
      有没有方法证明你的观点?

    网友:bluesky2008

    你理解很正确啊。  
      假设第n年,上一年生出小母牛的母牛今年会继续生出同样多的小母牛,所以+f(n-1)。同时3年前出生的小母牛长大了,今年开始生小母牛,所以+f(n-3);  
      即:f(n)=f(n-1)+f(n-3);  
     

    .
      最佳浏览:1024X768 MSIE
    ©2007 jqmk.com.cn All Rights Reserved