int fib(int n) {
if (n == 1 || n == 2)
return 1;
else
return fib(n - 2) + fib(n - 1);
}
int main() {
int i;
for (i = 1; i <= 20; i++) {
printf("%16d", fib(i));
if ((i + 1) % 4 == 0)printf("\n");
}
return 0;
}
输出结果:
二,用数组求斐波那契数列
已知f1=f2=1,fn=fn-1+fn-2;
参考代码:
cpp复制代码
void main() {
int i; int f[20] = { 1,1 };
for (i = 2; i < 20; i++)
f[i] = f[i - 2] + f[i - 1];
for (i = 0; i < 20; i++) {
if (i % 5 == 0)printf("\n");
printf("%12d", f[i]);
}
printf("\n");
}