解题思路:
f(n) =
1, (n = 1, 2)
2, (n = 3)
f(n - 1) + f(n - 3), (n > 3)
直接打表。
参考代码:
#include<stdio.h> #define Max 20 int main() { int f[Max + 1], n; f[1] = f[2] = 1; f[3] = 2; for (int i = 4; i <= Max; i++) { f[i] = f[i - 1] + f[i - 3]; } while ((scanf("%d", &n)) != EOF) { if (n > 0 && n <= Max) { printf("%d\n", f[n]); } } return 0; }
0.0分
0 人评分
C二级辅导-计负均正 (C语言代码)浏览:592 |
P1002 (C语言代码)浏览:970 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:610 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:326 |
文科生的悲哀 (C语言代码)浏览:1397 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:555 |
C二级辅导-公约公倍 (C语言代码)浏览:481 |
蛇行矩阵 (C语言代码)浏览:498 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:548 |
分解质因数 (C++代码)浏览:1471 |