奇怪的数列

首页 » 算法 » 奇怪的数列

从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);
}
}
 
分享到:
赞(0) 打赏

评论 7

评论前必须登录!

 

  1. #1

    最好再详细点

    你哥6个月前 (03-27)
  2. #2

    我也是小白以后多多交流

    小白6个月前 (03-27)
  3. #3

    我加你了哦

    hello6个月前 (03-27)
  4. #4

    我也是学计算机的

    奋斗6个月前 (03-28)
  5. #5

    我加你了哦

    笔记本6个月前 (03-28)
  6. #6

    挺明白的

    渣渣辉6个月前 (03-28)
  7. #7

    我加你了哦

    小蚯蚓4个月前 (05-26)

觉得文章有用就打赏一下弟弟吧

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.5主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
正在播放:

作者想对您说:

累了就停下来听首歌吧

听完后会给您一个好心情

最后

等到您不容易

还希望您能多待一会儿

      00:00/00:00