棋盘覆盖问题(C++)

2017-04-20  本文已影响53人  不困于情
#include<iostream>
#include<string.h>
using namespace std;

int main()
{
    int n;
    cin>>n;
    while(n--)
    {
        int a[100];
        memset(a,0,sizeof(a));
        int size;
        cin>>size;
        a[0]=1;
        if(size==1)
            cout<<a[0]<<endl;
        int i,j,k;
        for(i=2;i<=size;++i)
        {
            for(j=0;j<100;++j)
                a[j]=4*a[j];
            a[0]++;
            for(j=0;j<99;++j)
            {
                a[j+1]+=a[j]/10;
                a[j]=a[j]%10;
            }
        }
        
        for(i=99;i>=0;--i)
            if(a[i]) break;
        for(j=i;j>=0;--j)
            cout<<a[j];
        cout<<endl;
    }
    return 0;
}     
上一篇 下一篇

猜你喜欢

热点阅读