**
斐波那契算法详解
**
**
1、斐波那契数列的一般解法:
for循环强行计算
**
#include <stdio.h>
int main() {
int n ;
int fn = 0;
int f1, f2;
f1 = f2 = 1;
printf("请输入需要计算的第几个数:");
scanf_s("%d", &n);
if (n <= 2) {
printf(", n,f1);
//return 1;
}
else {
for (int i = 3; i <= n; i++)
{
fn = f1 + f2;
f1 = f2;
f2 = fn;
}
printf("第%d个数为%d", n, fn);
//return fn;
}
}
**
2、斐波那契数列的函数调用解法:
函数递归调用
**
#include <stdio.h>
int fa(int n) {
int fn = 0;
int f1, f2;
f1 = f2 = 1;
if (n <= 2)
return 1;
return fa(n - 1) + fa(n - 2);
}
int main() {
int n;
printf(请输入需要计算第几个数:"");
scanf_s("%d", &n);
int a = fa(n);
printf("第%d个数为%d", n, a);
return 0;
}