小菜鸟


私信TA

用户名:huangzhenc

访问量:1946

签 名:

等  级
排  名 11836
经  验 955
参赛次数 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 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

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