#12026. Palindromic Numbers / 回文数

Palindromic Numbers / 回文数

Problem J38: Palindromic Numbers / 回文数

版权信息: · 枚举与字符串处理题


任务总览

任务名称 时间限制 内存限制 分数
回文数 1 sec 1024 MB 15 points

** 题目描述**

回文数是一类特殊的整数,它在 从左向右读 和 从右向左读 时都完全相同。

例如:

  • 12321 是回文数;
  • 768867 也是回文数。

现在给定两个正整数 mmnn,请你找出所有满足下列条件的 mm 位十进制正整数:

  1. 是 ​ 回文数 ​;
  2. 各位数字之和等于 nn

输入格式

一行包含两个正整数 mmnn,表示:

  • mm:回文数的位数(2m<102 \leq m < 10);

    • nn:各位数字的和(2n<822 \leq n < 82)。

    输出格式

    每行输出 5 个满足条件的回文数,以空格分隔,按照从小到大排序输出。

    若无满足条件的回文数,输出一行:

    - 1
    

    输入输出样例

    输入示例

    6 10
    

    输出示例

    104401 113311 122221 131131 140041
    203302 212212 221122 230032 302203
    311113 320023 401104 410014 500005
    

    题目分析与解法

    ✅ 解法思路(枚举 + 判断):

    1. 枚举所有 mm 位的正整数;
    2. 判断该数是否为 ​ 回文数 ​;
    3. 若是回文数,进一步判断其 ​ 各位数字之和是否为 nn ​;
    4. 满足条件则加入答案并按要求输出格式。

时间复杂度分析

步骤 复杂度
枚举 mm 位数 O(910m1)O(9 \cdot 10^{m-1})
判断回文性 + 求和 O(m)O(m)
总复杂度 可接受范围内​(m<10m<10