解题思路:
由题可知递归关系:an=an-1+an-3。
思路1:递归求解。(后期计算消耗系统资源大,舍去)
思路2:用数列存储前4项结果,利用前四项结果根据规律向后计算并存储,以此类推。
注意事项:
参考代码:
//思路2 #include<stdio.h> #define LENGTH 54 int main() { int i,n; int a[LENGTH]={1,2,3,4}; for(i=4;i<LENGTH;i++) { a[i]=a[i-1]+a[i-3]; } while(scanf("%d",&n)!=EOF&&n>0&&n<=LENGTH) { printf("%d\n",a[n-1]); } return 0; }
//思路 #include<stdio.h> #define LENGTH 54 int fun(int year) { if(year<=4) { return year; } else { return fun(year-1)+fun(year-3); } } int main() { int n; while(scanf("%d",&n)!=EOF&&n>0&&n<=54) printf("%d\n",fun(n)); return 0; }
0.0分
0 人评分
【明明的随机数】 (C++代码)浏览:825 |
printf基础练习2 (C语言代码)浏览:792 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:565 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:528 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:587 |
众数问题 (C语言代码)浏览:716 |
C语言程序设计教程(第三版)课后习题8.9 (C语言代码)浏览:565 |
老王赛马 (C++代码)浏览:962 |
明明的随机数 (C语言代码)浏览:963 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:795 |