Problem G: 零起点学算法86——Fibonacc
Description
Fibonacci数列定义为(1,1,2,3,5,8,…),即每个元素是前两个元素的和。如果一个Fibonacci数与所有小于它的Fibonacci数互质,那么称之为Fibonacci质数。 现在要求你输出前n个Fibonacci数 The Fibonacci Numbers {0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 …} are defined by the recurrence: F(0)=0 F(1)=1 F(i)=F(i-1)+F(i-2) Write a program to calculate the Fibonacci Numbers.
input
The first line of the input file contains a single integer T, the number of test cases. The following T lines,each contains an integer n ( 0 <= n <= 45 ), and you are expected to calculate Fn.
Output
Output Fn on a separate line.
Sample Input
5
0
3
5
9
20
Sample Output
0
2
5
34
6765
#include <stdio.h>
int main(){
int t,a[50]={0,1,1},i,n;
for(i=3;i<=45;i++){
a[i]=a[i-1]+a[i-2];
}
scanf("%d",&t);
for(i=1;i<=t;i++){
scanf("%d",&n);
printf("%d\n",a[n]);
}
return 0;
}
分析
1、列出斐波那契数列的表达式。
2、注意数列对应关系。
3、多次输入,多次输出同步进行。