#LGP1015. [NOIP1999 普及组] 回文数
[NOIP1999 普及组] 回文数
题目描述
若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称为回文数。
例如,给定一个十进制数 56,将 56 加 65(即把 56 从右向左读),得到的 121 是一个回文数。
又如,对于十进制数 87:
STEP1: 87 + 78 = 165
STEP2: 165 + 561 = 726
STEP3: 726 + 627 = 1353
STEP4: 1353 + 3531 = 4884
在这里,一步是指进行一次 N 进制加法,上例最少用了 4 步得到回文数 4884。
请编写程序,给定一个 N 进制数 M,求最少经过几步可以得到回文数。如果在 30 步以内(包含 30 步)不可能得到回文数,则输出 Impossible!。
输入格式
输入共两行。
第一行包含一个整数 N。 第二行包含一个 N 进制数 M。
输出格式
如果能在 30 步以内得到回文数,输出格式形如 STEP=ans,其中 ans 为最少得到回文数的步数。 否则输出 Impossible!。
输入 #1
10
87
输出 #1
STEP=4
说明/提示
对于 2 <= N <= 10 或 N = 16,M 的长度不超过 100 位,且只包含数字或大写字母。
来源
洛谷 P1015 [NOIP1999 普及组] 回文数。