hdu 1250-Fibonacci
2013-08-15 09:14
295 查看
Hat's Fibonacci
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 5890 Accepted Submission(s): 1944
[align=left]Problem Description[/align]
A Fibonacci sequence is calculated by adding the previous two members the sequence, with the first two members being both 1.
F(1) = 1, F(2) = 1, F(3) = 1,F(4) = 1, F(n>4) = F(n - 1) + F(n-2) + F(n-3) + F(n-4)
Your task is to take a number as input, and print that Fibonacci number.
[align=left]Input[/align]
Each line will contain an integers. Process to end of file.
[align=left]Output[/align]
For each case, output the result in a line.
[align=left]Sample Input[/align]
100
[align=left]Sample Output[/align]
4203968145672990846840663646 代码:
#include<stdio.h>
#include<string.h>
int ans[10000][260];
int main()
{
int n,i,j;
while(scanf("%d",&n)!=EOF)
{
memset(ans,0,sizeof(ans));
ans[0][0]=ans[1][0]=ans[2][0]=ans[3][0]=1;
if(n<5)
printf("1\n");
else
{
for(i=4;i<n;i++)
{
for(j=0;j<260;j++)
{
ans[i][j]=ans[i-1][j]+ans[i-2][j]+ans[i-3][j]+ans[i-4][j];
}
for(j=0;j<260;j++)
{
if(ans[i][j]>=100000000)
{
ans[i][j+1]+=ans[i][j]/100000000;
ans[i][j]%=100000000;
}
}
}
for(j=259;j>=0 && ans[n-1][j]==0;j--) ;
printf("%d",ans[n-1][j]);
j--;
for(;j>=0;j--)
{
printf("%08d",ans[n-1][j]);
}
printf("\n");
}
}
return 0;
}
相关文章推荐
- HDU 1250 Hat's Fibonacci JAVA大数
- hdu-1250-Hat's Fibonacci
- hdu-1250-Hat's Fibonacci
- HDU 1250 Hat's Fibonacci
- hdu 1250 Hat's Fibonacci
- hdu 1250 Hat's Fibonacci
- hdu 1250 大数Fibonacci
- HDU 1250 Hat's Fibonacci
- HDU 1250 Hat's Fibonacci
- Hat's Fibonacci HDU - 1250
- HDU 1250 Hat's Fibonacci
- Hat's Fibonacci hdu 1250
- HDU 1568 Fibonacci
- HDU2.2.1 Fibonacci
- hdu 1568 Fibonacci
- 【Fibonacci 数列前四位&后四位】hdu 3117
- Hdu 1568 Fibonacci
- HDU 1568 - Fibonacci
- HDU1250(大数相加)
- HDU1848_Fibonacci again and again_经典的求sg