NO IMAGE

Description

小S今天給你出了一道找規律題,題目如下:
有如下的數列1,11,21,1211,111221,312211,……
小S問你這個數列的第N項是多少,而你一頭霧水根本找不出規律。
聰明的小R悄悄地告訴你是這樣的
1,
上一個數是一個1,寫作11
上一個數是兩個1,寫作21
上一個數是一個2,一個1,寫作1211
上一個數是一個1,一個2,兩個1,寫作111221,
…………
相信聰明的你一定可以解決這個問題。

Input

第一行包括一個正整數N。

Output

一行一個正整數(注意數字可能會唱過長整形,請注意用陣列或者字串儲存)

Sample Input

6

Sample Output

312211

Hint

對於100%的資料,。

分析
水題一道,題目裡有講規律,仔細看題就行。

程式:

var
n,i,j:longint;
a:array[0..40]of ansistring;
zfc,zf:ansistring;
bz:char;
tj:int64;
begin
assign(input,'num.in');
reset(input);
assign(output,'num.out');
rewrite(output);
read(n);
a[1]:='1';
a[2]:='11';
a[3]:='21';
a[4]:='1211';
a[5]:='111221';
a[6]:='312211';
for i:=7 to n do
begin
a[i]:='';
zfc:=a[i-1];
bz:=zfc[1];
tj:=0;
for j:=1 to length(zfc) do
if zfc[j]=bz then inc(tj) else
begin
str(tj,zf);
a[i]:=a[i] zf bz;
bz:=zfc[j];
tj:=1;
end;
str(tj,zf);
a[i]:=a[i] zf bz;
end;
write(a[n]);
close(input);
close(output);
end.