奇怪的数列

2019-12-31 286次浏览 已收录 7个评论

从X星截获一份电码,是一些数字,如下:
13
1113
3113
132113
1113122113
….

YY博士经彻夜研究,发现了规律:
第一行的数字随便是什么,以后每一行都是对上一行“读出来”
比如第2行,是对第1行的描述,意思是:1个1,1个3,所以是:1113
第3行,意思是:3个1,1个3,所以是:3113

请你编写一个程序,可以从初始数字开始,连续进行这样的变换。

数据格式:

第一行输入一个数字组成的串,不超过100位
第二行,一个数字n,表示需要你连续变换多少次,n不超过20

输出一个串,表示最后一次变换完的结果。

例如:
用户输出:
5
7

则程序应该输出:
13211321322115

package six_jue;
 
import java.util.Scanner;
 
public class 奇怪数列 {
	static String find(String s) {
		String s1="";
		char c=s.charAt(0);//从第一个开始
		int count=1;
		for(int i=1;i<s.length();i++) {
			char c1=s.charAt(i);//下一个
			if(c==c1) {//存在个数增加
				count++;
			}else {
				s1+=count;//不存在了,开始存入个数
				s1+=c;//不存在了,开始存入字符
				c=s.charAt(i);//继续从下一个字符开始寻找
				count=1;
			}
		}
		s1+=count;//最后的个数要加上
		s1+=c;//;最后的字符要加上
		return s1;
	}
public static void main(String[] args) {
	Scanner shu = new Scanner(System.in);
	String s=shu.nextLine();
	int n=shu.nextInt();
	for(int i=0;i<n;i++) {
		s=find(s);
	}
	System.out.println(s);
}
}
 

渣渣龙, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:奇怪的数列
喜欢 (0)

您必须 登录 才能发表评论!

(7)个小伙伴在吐槽
  1. 最好再详细点
    你哥2020-03-27 13:00
  2. 我也是小白以后多多交流
    小白2020-03-27 13:24
  3. 我加你了哦
    hello2020-03-27 13:51
  4. 我也是学计算机的
    奋斗2020-03-28 16:40
  5. 我加你了哦
    笔记本2020-03-28 17:06
  6. 挺明白的
    渣渣辉2020-03-28 17:57
  7. 我加你了哦
    小蚯蚓2020-05-26 10:07