斐波那契数列的定义为:
F1=1,F2=1,F(n)=F(n-2)+F(n-1)
请输出斐波那契数列的第n项。
Input
第1行的整数T表示测试数据的组数,后有T行测试数据,每行包含一个正整数n(n<=40)。
Output
对于每组测试数据,输出对应的F(n),每组单独占一行。
斐波那契数列的定义为:
F1=1,F2=1,F(n)=F(n-2)+F(n-1)
请输出斐波那契数列的第n项。
Input
第1行的整数T表示测试数据的组数,后有T行测试数据,每行包含一个正整数n(n<=40)。
Output
对于每组测试数据,输出对应的F(n),每组单独占一行。
可以使用循环来实现求第n项的斐波那契数列的值。
代码如下:
参考链接:
#include <stdio.h>
// https://blog.csdn.net/qq_43452252/article/details/100937532
int fib(int n){
int first,second;
int fn;
for(int i=1;i<=n;i++){
if(i==1){ // 斐波那契第一项为1
first=1;
fn=first;
}else if(i==2){// 斐波那契第二项为1
second=1;
fn=second;
}else{ // 斐波那契其他项为前两项的和
int temp = first;
first=second;
second=fn;
fn=first+second;
}
}
return fn;
}
int main(void){
int T,n;
scanf("%d",&T);
for(int i=0;i<T;i++){
scanf("%d",&n);
// https://www.cnblogs.com/sunfulv/p/13840810.html
printf("%d\n",fib(n));
}
return 0;
}