输入[0,90]区间内的整数 n,输出 Fibonacci 数列第 n 项的值 f(n):
f(0) = 0,f(1) = 1;当 n>1 时,f(n) = f(n-2) + f(n-1)
可以定义一个函数来求第n项斐波那契数列的值,在函数中使用循环依次计算每一项斐波那契的值,直到计算到要求的第n项,每一项的的值用前两项的值的和来计算,根据题目意思,第0项为0,第1项为1,第2项也为1,如此可以循环计算到要求的那一项。
代码如下:
参考链接:
#include <stdio.h>
void fib(int n){
int i;
long long zero = 0;
long long first=1; // Fibonacci数列的第1项
long long second=1; // Fibonacci数列的第2项
long long num;
if (n==0){
printf("%lld",zero);
}else if(n==1){ // 如果只需要输出Fibonacci数列的第1项
printf("%lld",first);
}else if(n==2){ // 如果只需要输出Fibonacci数列的前2项
printf("%lld",second);
}else{ // 如果需要输出Fibonacci数列的项数大于等于3项
for(i=3;i<=n;i++){
num= first+second; // 当前项为前两项的和
if(i==n){
// https://blog.csdn.net/pyh2358/article/details/105977440
printf("%lld",num);
}
first = second; // 把当前项的前第2项first赋值为first后面的那项second的值
second = num; // 把当前项的前一项赋值为当前项的值,经过这两部的重新赋值以便计算下一项的值
}
}
}
int main(void){
int n;
printf("请输入要输出Fibonacci数列的第几项:");
scanf("%d",&n) ;
fib(n);
return 0;
}