斐波那契数列指的是这样一个数列:0,1,1,2,3,5,8,13,21,34,55,89…
这个数列从第3项开始,每一项都等于前两项之和。
问题:
输入一个n,n代表是斐波那契数列中的第几个数,并输出出来。
编程思想
F(1)=0,F(2)=1,F(n)=F(n-1)+F(n-2)
递归函数调用,即调用自身
代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
//Fib递归函数
int Fib(int n) {
if (n == 1) {
return 0;
}
else if (n == 2) {
return 1;
}
else {
return Fib(n - 1) + Fib(n - 2);
}
}
int main() {
int n;
while (scanf("%d", &n) != EOF) {
printf("Fib(%d)=%d\n", n, Fib(n));
}
return 0;
}
测试环境为Visual Studio 2019