java实现第六届蓝桥杯奇怪的数列
2024-09-06 11:32:00
奇怪的数列
从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语句。不要使用jdk1.7及以上版本的特性。
注意:主类的名字必须是:Main,否则按无效代码处理。
import java.util.Scanner;
public class Qiguaideshulie {
public static void getResult(String A, int n) {
while(n > 0) {
n--;
StringBuffer result = new StringBuffer("");
for(int i = 0;i < A.length();i++) {
int count = 1;
int j = i + 1;
for(;j < A.length();j++) {
if(A.charAt(i) == A.charAt(j))
count++;
else
break;
}
result.append(count);
result.append(A.charAt(i));
i = j - 1;
}
A = result.toString();
}
System.out.println(A);
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String A = in.next();
int n = in.nextInt();
getResult(A, n);
}
}
最新文章
- bootstrap之clearfix
- composer ";Illegal offset type in isset or empty";报错解决方案
- ztree.js的使用整理
- js中的forEach
- js web实现移动端触控
- javascript学习第三课引用类型object
- [Everyday Mathematics]20150218
- C ~ C语言字节对齐
- POJ 2446 Chessboard (二分图最大匹配)
- jQuery--Promise object
- zoj1871steps 数学 水
- 英语口语练习系列-C41-食物词汇-鹊桥仙
- python 三种 安装包的方法
- RabbitMQ详解(三)------RabbitMQ的五种队列
- 【中文版 | 论文原文】BERT:语言理解的深度双向变换器预训练
- poj 1511 正向 反向 构两个图
- caffe solver 配置详解
- datatable to entiy list 不支持可空类型和枚举类型
- Eclipse Java注释模板设置详解以及版权声明
- java xml文件