HDU 1250 Hat's Fibonacci(高精度)

来源:互联网 发布:c语言实训步骤怎么写 编辑:程序博客网 时间:2024/05/24 16:15

Description
已知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),给出n,输出F(n)
Input
多组用例,每组用例占一行为一整数n,以文件尾结束输入
Output
输出F(n)
Sample Input
100
Sample Output
4203968145672990846840663646
Solution
高精度加法
Code

#include<stdio.h>int f[7654][543];int main(){    f[0][0]=1;    f[1][0]=1;    f[2][0]=1;    f[3][0]=1;    for(int i=4;i<7654;i++)    {        int k=0;        for(int j=0;j<543;j++)        {            k+=f[i-4][j]+f[i-3][j]+f[i-2][j]+f[i-1][j];            f[i][j]=k%10000;            k/=10000;        }    }    int n;    while(~scanf("%d",&n))    {        int i=543-1;        while(f[n][i]==0&&i>=0)i--;//去前置0         printf("%d",f[n-1][i]);        for(int j=i-1;j>=0;j--)            printf("%04d",f[n-1][j]);        printf("\n");    }    return 0;}
0 0
原创粉丝点击