poj 2506 Tiling

哈哈~~第一个自己写的大整数~~纪念一下

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>
using namespace std;

int num[255][100];
int main()
{
int n;

while(scanf("%d",&n)==1)
{
if(n==0||n==1)
{
puts("1");continue ;
}
int digit=1;
num[0][0]=num[1][0]=1;
for(int i=2;i<=n;i++)
{
int over=0;
for(int j=0;j<digit;j++)
{
over=num[i-1][j]+num[i-2][j]*2+over;
num[i][j]=over%10;
over/=10;
}
while(over)
{
num[i][digit]=over%10;
over/=10;
digit++;
}
}
for(int i=digit-1;i>=0;i--)
printf("%d",num[n][i]);
printf("\n");
}

}



posted @ 2012-02-23 20:20  skyming  阅读(405)  评论(0编辑  收藏  举报