原题链接:[递归]母牛的故事
解题思路:
先用记事本将每年的数量列出来,可以得到一个递归关系,在第4年以前,只有母牛才能产崽,所以每一年都是+1,第4年以后,3年前生下的小母牛已经能够产崽了,通过列表得到第n年的母牛数量为第n-1年母牛数量+第n-3年的母牛数量,公式有:F(n) = F(n-1) + F(n-3);
第1年 | 第2年 | 第3年 | 第4年 | 第5年 | 第6年 | 第7年 | 第8年 | 第9年 | 第10年 |
1 | 2 | 3 | 4 | 6 | 9 | 13 | 19 | 28 | 41 |
注意事项:
数组需要初始化
参考代码:
import java.util.Scanner; public class Main { public static void main(String args[]){ int[] total = new int[56]; for(int i=0;i<56;i++){ total[i] = i; } Scanner sc = new Scanner(System.in); int year = sc.nextInt(); while(year!=0){ if(year3) { for(int i=4;i<=year;i++){ total[i] = total[i-1] + total[i-3]; } System.out.println(total[year]); } year = sc.nextInt(); } } }
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复