2017年09月23日普级组 数列
Time Limit:10000MS Memory Limit:256000K
Total Submit:24 Accepted:21
Case Time Limit:1000MS
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%的数据,。
Source
题意:
用数字表示上一个数列,例如 123456789 下一个就是: 112233445566778899
var
s:ansistring;
n,i,j,k:longint;
x,a,x1,a1:array[0..1000000]of integer;
begin
assign(input,'num.in');
assign(output,'num.out');
reset(input);rewrite(output);
readln(n);
s:='1';
while n>1 do
begin
fillchar(a,sizeof(a),0);
fillchar(x,sizeof(x),0);
k:=1;a[1]:=ord(s[1])-48;x[1]:=1;
for i:=2 to length(s) do
if s[i]=s[i-1] then
inc(x[k]) else
begin
inc(k);
a[k]:=ord(s[i])-48;x[k]:=1;
end;
s:='';
for i:=1 to k do
s:=s+chr(x[i]+48)+chr(a[i]+48);
dec(n);
end;
writeln(s);
close(input);close(output);
end.
嗯。。。。
我问一下,真的有人在看我的博客吗?
有的话,请回复。
没有的话》》。。那我也接受。