计数和数数
“伯爵说”序列如下:1,11,21,1211,111221,…。其1
读作one
1
或者11
。11
读作two
1s
或者21
。21
读作one
2, one 1
或者1211
。
输入格式
多组输入,读到文件结束。每组输入给定一个整数 n(1≤n≤30)。
输出格式
输出第 n 个序列。注意,整数序列以字符串的形式表示。
样例输入
6
样例输出
312211
/*
思路:找规律,后个字符串都是前一个字符串的计数。
例如:1,后一个字符串11,也就是1个1。
11,后一个字符串21,也就是2个1。依此类推
*/
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner cin = new Scanner(System.in);
String []str=new String[30];
str[0]="1";
for(int i=1;i<30;++i)
{
str[i]="";
int cnt=0;
int len=str[i-1].length();
while(cnt<len)
{
int mark=1;
char ch=str[i-1].charAt(cnt);
while(++cnt < len && ch==str[i-1].charAt(cnt))++mark;
str[i]+=mark+""+ch;
}
}
while(cin.hasNext())
{
int n=cin.nextInt();
System.out.println(str[n-1]);
}
}
}