当前位置: 首页 > news >正文

PAT乙级真题 — 1084 外观数列(java)

外观数列是指具有以下特点的整数序列:

d, d1, d111, d113, d11231, d112213111, ...

它从不等于 1 的数字 d 开始,序列的第 n+1 项是对第 n 项的描述。比如第 2 项表示第 1 项有 1 个 d,所以就是 d1;第 2 项是 1 个 d(对应 d1)和 1 个 1(对应 11),所以第 3 项就是 d111。又比如第 4 项是 d113,其描述就是 1 个 d,2 个 1,1 个 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);
    }
}

运行结果:

 

 

 

相关文章:

  • 一口井深7米,一只蜗牛从井底往上爬每天爬3米掉下去1米,问几天能爬上井口?
  • CEF132 编译指南 Linux 篇 - 获取 CEF 源代码:源码同步详解(五)
  • 代码随想录算法训练营Day47
  • 爱彼(Audemars Piguet):瑞士制表艺术的巅峰之作(中英双语)
  • 使用Charles进行mock请求
  • 如何调整 Nginx工作进程数以提升性能
  • 华为ensp IPSEC隧道两端经过nat配置实验!
  • 【kafka系列】Exactly Once语义
  • DeepSeek进阶开发与应用2:DeepSeek中的自定义层与复杂模型构建
  • 【AI】Docker中快速部署Ollama并安装DeepSeek-R1模型: 一步步指南
  • SpringBoot教程(三十二) SpringBoot集成Skywalking链路跟踪
  • 如何优雅地使用全局标志位
  • servlet中的ServletContext
  • 【D2】神经网络初步学习
  • dfs深度优先搜索—邻接矩阵 + 邻接矩阵-递归版 + 邻接表
  • 基于Flask的茶叶销售数据可视化分析系统设计与实现
  • 一. vue2和vue3的Proxy底层源码详细拆解
  • Kepware的OPC UA配置深入介绍
  • C++ 中将类的定义和实现都放在头文件中的优缺点分析
  • 【20250215】二叉树:94.二叉树的中序遍历
  • 美国4月CPI同比上涨2.3%低于预期,为2021年2月来最小涨幅
  • 反犹、资金与抗议:特朗普的施压如何撕裂美国大学?|907编辑部
  • 兰州大学教授安成邦加盟复旦大学中国历史地理研究所
  • 牟海松任国家信访局副局长
  • 【社论】人工智能将为教育带来什么
  • 上海建筑领域绿色发展2025年工作要点发布