小菜鸟


私信TA

用户名:huangzhenc

访问量:2021

签 名:

等  级
排  名 12664
经  验 962
参赛次数 1
文章发表 3
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:

这是一个持续生产类的问题,斐波那契数列刚好可以应用这种情况。本题的关键步骤是:第i年动物的总数等于前一年的动物总数加上前一年可在下一年生产的动物总数之和。


注意事项:

尽量不要用递归,递归时间比较长,会输出超限,用斐波那契的性质运用在数组之上即可


参考代码:

#include <stdio.h>

#include <stdlib.h>

int cow(int n); 

int main()

 {

  long int A[55],i,n;

  A[0]=0;

  for(i=1;i<55;i++)

  { if(i<5)

  A[i]=i;//先求出前4个的值 

else A[i]=A[i-1]+A[i-3];//关键步骤   第i年动物的总数= 前一年的动物总数+ 前一年可在下一年生产的动物总数

}

while(scanf("%d",&n)!=EOF&&n)

{

if(n>0&&n<55)printf("%d\n",A[n]);

else return 0;

}

return 0;

}


 

0.0分

0 人评分

  评论区

不对吧
2019-02-18 17:49:22
  • «
  • 1
  • »