您的位置:首页 > 其它

HDU(1715)大菲波数

2016-07-18 17:51 381 查看

大菲波数

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 17215    Accepted Submission(s): 5715


[align=left]Problem Description[/align]
Fibonacci数列,定义如下:

f(1)=f(2)=1

f(n)=f(n-1)+f(n-2) n>=3。

计算第n项Fibonacci数值。

 

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

 

[align=left]Output[/align]
输出为N行,每行为对应的f(Pi)。

 

[align=left]Sample Input[/align]

5
1
2
3
4
5

 

[align=left]Sample Output[/align]

1
1
2
3
5

 

[align=left]Source[/align]
2007省赛集训队练习赛(2)

方法和大数相加类似,换成二维数组形式

代码:
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<iostream>
using namespace std;
int a[1011][5000],i,j;
void sun()
{
int p;
memset(a,0,sizeof(a));
a[1][4999]=1;a[2][4999]=1;
for( i=3;i<=1010;i++)
{p=0;
for( j=4999;j>=0;j--)
{
a[i][j]=a[i-1][j]+a[i-2][j]+p;
if(a[i][j]>=10)
{
p=1;
a[i][j]=a[i][j]%10;
}
else
p=0;
}
}
}
int main()
{sun();
int n,m;
scanf("%d",&m);
while(m--)
{scanf("%d",&n);
for( i=0;i<=4999;i++ )
{
if(a
[i]!=0)
{
for( j=i;j<=4999;j++)
printf("%d",a
[j]);
break;
}

}
printf("\n");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  acm