M00PAIR - 0 0 Pairs

Tác giả: hieult

Ngôn ngữ: C++

#include <stdio.h>
//#include <conio.h>
#include <string.h>

int main()
{
   // freopen("M00PAIR.in","r",stdin);
    int n;
    char c[1001][600];
    c[0][0]='0';
    c[0][1]='\0';
    c[1][0]='0';
    for(int i=2;i<=1000;i++)
    {
        int l,du;
        if(i%2==0) l=1;
        else l=-1;
        c[i][0]=((c[i-1][0]-48)*2+l)%10 + 48;
        du = ((c[i-1][0]-48)*2+l)/10;
        for(int j=1;j<strlen(c[i-1]);j++)
        {
             //if(i==11) printf("**%d**\n",du);
             c[i][j]=((c[i-1][j]-48)*2+du)%10 + 48;
             du = ((c[i-1][j]-48)*2+du)/10;
        }
        int m=i-1;
        if(du>0)
        {
        c[i][strlen(c[m])]=du+48;
        c[i][strlen(c[m])+1]='\0';
        }
        else c[i][strlen(c[m])]='\0';
         
      //  printf("%d\n",i);
    }
    int chay=0;
    while(scanf("%d",&n)>0&&n>0)
    {
        chay++;
       // if(chay>1)
       // printf("\n");
       // printf("%s\n",c[n]);
        for(int i=strlen(c[n])-1;i>=0;i--)
             printf("%c",c[n][i]);
        printf("\n");
    }
    //printf("%d",strlen(c[1]));
   // getch();
}

Download