大数加法

来源:互联网 发布:java三大框架例子 编辑:程序博客网 时间:2024/05/31 19:06

hdoj 1715 斐波那契+大数加法

#include<iostream>#include<cstdio>#include<cstring>using namespace std;int a[212],b[212],ans[212];int main(){    int n;    int i,j,x;    scanf("%d",&n);    while(n--)    {        scanf("%d",&x);        memset(a,0,sizeof(a));        memset(b,0,sizeof(b));        memset(ans,0,sizeof(ans));        a[0] = 1;        b[0] = 1;        if(x <= 2)        {            printf("1\n");            continue;        }        for(i = 3; i <= x; i++)        {            for(j = 0; j < 220; j++)            {                ans[j] = a[j] + b[j];                if(ans[j] >= 10)                {                    a[j+1]++;                    ans[j]-=10;                }            }            for(j = 0; j < 220; j++)            {                a[j] = b[j];                b[j] = ans[j];            }        }        for(i = 220; i >= 0; i--)            if(ans[i] != 0)                break;                int num = 0;        for(; i >= 0; i--)            {                printf("%d",ans[i]);                //num++;            }        printf("\n");        //cout<<num<<endl;    }}


0 0