设计网站价格表,产品设计就业方向,吃什么补肾最快,diy图片在线制作外观数列是指具有以下特点的整数序列#xff1a;
d, d1, d111, d113, d11231, d112213111, ...它从不等于 1 的数字 d 开始#xff0c;序列的第 n1 项是对第 n 项的描述。比如第 2 项表示第 1 项有 1 个 d#xff0c;所以就是 d1#xff1b;第 2 项是 1 个 d#xff08;对…外观数列是指具有以下特点的整数序列
d, d1, d111, d113, d11231, d112213111, ...它从不等于 1 的数字 d 开始序列的第 n1 项是对第 n 项的描述。比如第 2 项表示第 1 项有 1 个 d所以就是 d1第 2 项是 1 个 d对应 d1和 1 个 1对应 11所以第 3 项就是 d111。又比如第 4 项是 d113其描述就是 1 个 d2 个 11 个 3所以下一项就是 d11231。当然这个定义对 d 1 也成立。本题要求你推算任意给定数字 d 的外观数列的第 N 项。
输入格式
输入第一行给出 [0,9] 范围内的一个整数 d、以及一个正整数 N≤ 40用空格分隔。
输出格式
在一行中给出数字 d 的外观数列的第 N 项。
输入样例
1 8输出样例
1123123111
思路这道题主要是得看明白这个数列的规律其实就是从左到右对每一个数进行计数如果相同就合并同类项的那种感觉并按照数字数量的格式来输出。
运行代码
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;
public class Main {static BufferedReader br new BufferedReader(new InputStreamReader(System.in));static StreamTokenizer st new StreamTokenizer(br);static int ini() throws IOException {st.nextToken();return (int)st.nval;}public static void main(String[] args) throws IOException {int k 0, d ini(), N ini();String str String.valueOf(d);for (int i 1; i N; i) {StringBuilder sb new StringBuilder();for (int j 0; j str.length() ; j k) {for (k j; k str.length() str.charAt(j) str.charAt(k); k){}sb.append(str.charAt(j));sb.append(k-j);}str sb.toString();}System.out.println(str);}
}运行结果