大菲波数

大菲波数

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 17294    Accepted Submission(s): 5752


Problem Description
Fibonacci数列,定义如下:
f(1)=f(2)=1
f(n)=f(n-1)+f(n-2) n>=3。
计算第n项Fibonacci数值。
 

Input
输入第一行为一个整数N,接下来N行为整数Pi(1<=Pi<=1000)。
 

Output
输出为N行,每行为对应的f(Pi)。
 

Sample Input
5 1 2 3 4 5
 

Sample Output
1 1 2 3 5
 

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
char a[1001][1001];
int main()
{
	memset(a,'0',sizeof(a));
	a[1][0]='1';
	a[2][0]='1';
	int d=1;
	for(int i=3;i<1001;i++)
	{
		d++;
		int jin=0,s;
		for(int j=0;j<=d;j++)
		{
			s=a[i-1][j]-'0'+a[i-2][j]-'0'+jin;
			jin=s/10;
			a[i][j]=s%10+'0';
		}
	}
	int t;
	scanf("%d",&t);
	while(t--)
	{
	   int n;
		scanf("%d",&n);
        int k=1000;
        while(k--)
        {
        	if(a[n][k]!='0')
        	break;
		}
		for(int i=k;i>=0;i--)
		{
			printf("%c",a[n][i]);
		 
		} printf("\n");
	}
	return 0;
}

posted @ 2019-12-12 09:01  千金一发  阅读(108)  评论(0编辑  收藏  举报