蓝桥杯之奇怪的数列
2017-05-07 20:55
148 查看
题目:
从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
打赏一点钱,帮我买杯咖啡,继续创作,谢谢大家!
从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 (c 4000 ount >= 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); } }
打赏一点钱,帮我买杯咖啡,继续创作,谢谢大家!
相关文章推荐
- 蓝桥杯历届-奇怪的数列
- 蓝桥杯——奇怪的数列
- 蓝桥杯第六届国赛JAVA真题----奇怪的数列
- 2016年蓝桥杯决赛 奇怪的数列
- java 蓝桥杯 奇怪的数列
- 【蓝桥杯】奇怪的数列
- 蓝桥杯 第六届决赛 奇怪的数列 JAVA
- 蓝桥杯 Fibonacci数列(数列+取模)
- 蓝桥杯之数列特征
- 蓝桥杯题-BASIC-4 数列特征 BASIC-5 查找整数 BASIC-6 杨辉三角形
- 2012年蓝桥杯【初赛试题】奇怪的比赛
- 蓝桥杯基础练习--数列特征
- 蓝桥杯-数列特征(basic)
- 第五届蓝桥杯 软件类省赛真题 第七题:奇怪的分式
- 蓝桥杯基础练习BASIC-13数列排序
- 2018蓝桥杯模拟赛--数列求值
- 第五届蓝桥杯C/C++本科A组初赛波动数列解题报告
- 蓝桥杯 基础练习 数列排序
- 蓝桥杯练习系统-数列特征
- 第五届蓝桥杯B组java—奇怪的算式