#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char s[31][100000];
int main()
{
int n,i,j,m;
int t,f;
s[1][0]='1';
s[1][1]='\0';
for(i=2;i<=30;i++)
{
t=1;
f=0;
for(j=0;j<strlen(s[i-1]);j++)
{
if(s[i-1][j]==s[i-1][j+1])
t++;
else{
s[i][f]=t+'0';
s[i][++f]=s[i-1][j];
f++;
t=1;
}
s[i][f]='\0';
}
}
while(scanf("%d",&n),n)
{
m=strlen(s[n]);
printf("%d\n",m);
}
return 0;
#include <string.h>
#include <stdlib.h>
char s[31][100000];
int main()
{
int n,i,j,m;
int t,f;
s[1][0]='1';
s[1][1]='\0';
for(i=2;i<=30;i++)
{
t=1;
f=0;
for(j=0;j<strlen(s[i-1]);j++)
{
if(s[i-1][j]==s[i-1][j+1])
t++;
else{
s[i][f]=t+'0';
s[i][++f]=s[i-1][j];
f++;
t=1;
}
s[i][f]='\0';
}
}
while(scanf("%d",&n),n)
{
m=strlen(s[n]);
printf("%d\n",m);
}
return 0;
}
Total Submission(s): 270 Accepted Submission(s): 118
Problem Description
A number sequence is defined as following:
S(1)=1,
S(2)=11,
S(3)=21,
S(4)=1211,
S(5)=111221,
S(6)=312211,
……
Now, we need you to calculate the length of S(n).
S(1)=1,
S(2)=11,
S(3)=21,
S(4)=1211,
S(5)=111221,
S(6)=312211,
……
Now, we need you to calculate the length of S(n).
Input
The input consists of multiple test cases. Each test case contains one integers n.
(1<=n<=30)
n=0 signal the end of input.
(1<=n<=30)
n=0 signal the end of input.
Output
Length of S(n).
SampleInput
2 5 0
SampleOutput
2 6