#报数规则:
#第1个:1
#第2个:2个1,即21
#第3个:1个2,1个1,即1211
#第4个:1个1,1个2,2个1,即111221
#第5个:3个1,2个2,1个1,即312211
#第6个:1个3,1个1,2个2,2个1,即13112221
#依次类推,求第n个人的报数结果
#思路:1、拆解主问题;2、求解子问题;3、组合子问题;4、终止条件
public class Digui_baoshu {
public static void main(String[] args) {
System.out.println(countNum(3));
}
public static String countNum(int n) {
if(n==1) {
return "1";
}
String lastNum=countNum(n-1);
int count=1;
String currentNum="";
for(int i=1;i<lastNum.length();i++) {
if(lastNum.charAt(i)!=lastNum.charAt(i-1)) {
currentNum+=String.valueOf(count)+lastNum.charAt(i-1);
System.out.println("i的值:"+i+";currentNum:"+currentNum);
count=1;
}else {
count++;
}
}
currentNum+=String.valueOf(count)+lastNum.charAt(lastNum.length()-1);
return currentNum;
}
}