蓝桥杯之奇怪的数列

xiaoxiao2021-02-28  62

题目: 从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

资源约定: 峰值内存消耗(含虚拟机) < 512M CPU消耗 < 1000ms


package 第六届; import java.util.Scanner; public class Exe72 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int num = scanner.nextInt(); int time = scanner.nextInt(); dfs(num+"",0,time); } private static void dfs(String str, int count, int time) { if (count >= time) { System.out.println(str); return ; } StringBuffer sb = new StringBuffer(); int ci = 1 ; for (int i = 0; i < str.length()-1; i++) { if (str.charAt(i)!=str.charAt(i+1)) { sb.append(ci+""+str.charAt(i)); ci = 1; } else { ci++; } } sb.append(ci+""+str.charAt(str.length()-1)); dfs(sb.toString(),count+1,time); } }

打赏一点钱,帮我买杯咖啡,继续创作,谢谢大家!

转载请注明原文地址: https://www.6miu.com/read-83622.html

最新回复(0)