题目描述: Fibonacci数列{0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...},可以如下定义: F0=0 F1=1 Fi=F(i-1)+F(i-2) 对于所有的i大于2 写个程序计算Fibonacci数 输入描述: 第一行为需要测试个数T,接着的1行,输入T个数据,每一个数据包含一个数n(0<=n<=45 ),即你需要计算的F(n) 输出描述: 对每输入的数n,输出对应的F(n),每个F(n)之间包含一个空格,最后一行输出不含回车。 样式输入: 5 0 3 5 9 20 样式输出: 0 2 5 34 6765
#include <stdio.h>
int main() {
int T, n;
scanf("%d", &T);
for (int i = 0; i < T; i++) {
scanf("%d", &n);
if (n == 0) {
printf("0 ");
} else if (n == 1 || n == 2) {
printf(" 1");
} else {
int a = 0, b = 1, c;
for (int j = 3; j <= n; j++) {
c = a + b;
a = b;
b = c;
}
printf("%d ", c);
}
}
return 0;
}