/ Vijos / 题库 /

回文数

回文数

时间限制:1秒  内存限制:256M


【问题描述】

  若一个数(首位不为 0 )从左向右读与从右向左读都一样,我们就将其称之为回文数。
  一个任意整数,可以通过若干次与反转数相加后得到一个回文数,例如:给定一个十进制数 56,将 56 加 65 (即把 56 从右向左读),得到 121 是一个回文数。又如:对于十进制数 87,经过 4 步可得到回文数 4884:

    STEP1: 87 + 78 = 165
    STEP2: 165 + 561 = 726
    STEP3: 726 + 627 = 1353
    STEP4: 1353 + 3531 = 4884

  现在请你写一个程序,给定一个 \(N\) 进制数 \(M\),求最少经过几步可以得到回文数。如果在30步以内(包括30步)不可能得到回文数,则输出"Impossible!"

【输入格式】

  第 1 行:包含两个数据,第一个是 \(N\),第 2 个是 \(M\)。 注意,当 \(N\) 大于 10 时,输入的 \(M\) 中大于 10 的位数用大写字母 A,B,C…… 等表示。

【输出格式】

  如果在不超过 30 步内能得到回文数,则输出最少的步数,否则输出"Impossible!"。

【输入输出样例】

 Input

9 87

 Output

STEPS=6

【数据限制】

  \(100\%\) 的数据满足 ,\(M\) 的长度不超过 10;\(N\) 不超过 16。

【来源】

  Mr.he

信息

ID
1311
难度
(无)
分类
数论 | 模拟 | 高精度 点击显示
标签
递交数
0
已通过
0
通过率
?
被复制
3
上传者