POJ2506-Tiling

題目鏈接:點擊打開鏈接

一個模擬的大數的遞推水題(雖然並不會推),遞推公式爲:a[i]=a[i-1]+a[i-2]*2。逐個計算每一位就好。

//264K	0MS	
//C++	550B
#include <cstdio>
#include <cstring>
int a[251][100];
int main()
{
    int i,n,k,j;
    memset(a,0,sizeof(a));
    a[0][0]=1;
    a[1][0]=1;
    a[2][0]=3;
    for(i=3;i<=250;i++)
    {
        k=0;
        for(j=0;j<100;j++)
        {
            k+=a[i-1][j]+a[i-2][j]*2;
            a[i][j]=k%10;
            k/=10;
        }
    }
    while(~scanf("%d",&n))
    {
        k=99;
        while(k&&!a[n][k])
            k--;
        for(i=k;i>=0;i--)
        {
            printf("%d",a[n][i]);
        }
        printf("\n");
    }
    return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章