2009-07-20 20:36:41來源不明

幼稚數列S

作法:模擬題

遞迴關係式...

S(0)=1
S(1)=11 (上一項 1個1)
S(2)=21 (上一項 2個1)
S(3)=1211 (上一項 1個2 2個1)
S(4)=111221 (上一項 1個1 1個2 2個1)

聰明的你(妳) 應該看得懂...那我就不多說了

/*******************************************************/

#include<stdio.h>
#include<stdlib.h>
int s[31][6005]={0};
main()
{
 int a,b,c;
 s[0][0]=1;
 int find=0;
 for(a=1;a<=30;a++)
   {
    int temp=1,top=0;
     for(b=0;b<6000;b++)
       {
          if(s[a-1][b]==0) break;
          if(s[a-1][b]==s[a-1][b+1]) temp++;
          else
            {
              s[a][top]=temp;
              s[a][top+1]=s[a-1][b];
              top=top+2;
              temp=1;
            }
       }
   }
 int n;
/*  freopen("input.txt", "rt", stdin);
 freopen("output.txt", "w+t", stdout);*/
 while(scanf("%d",&n)==1)
    {
      for(a=0;a<6004;a++)
       {
         if(s[n][a]==0) break;
         printf("%d",s[n][a]);
       } 
        printf("\n");
     }  
 return 0;
}

上一篇:砝碼

下一篇:數字包牌