斐波那契数列:
斐波那契数列是指这样一个数列:1,1,2,3,5,8,13,21,34,55,89......这个数列从第3项开始 ,每一项都等于前两项之和。
递推公式:
斐波那契数列:1,1,2,3,5,8,13,21,34,55,89...... ,以如下被以递归的方法定义:从第三项开始,每一项都等于前两项之和,显然这是一个线性递推数列。
一,求斐波那契数列前20项,按每行4个数输出--用递归
参考代码:
cpp
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");
}