回文数

回文数

测试数据来自 system/1304

题目描述

若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。

例如:给定一个十进制数 \(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\)(\(2 \le N \le 10\) 或 \(N=16\))进制数 \(M\)(\(100\) 位之内),求最少经过几步可以得到回文数。如果在 \(30\) 步以内(包含 \(30\) 步)不可能得到回文数,则输出 Impossible!

输入格式

两行,分别是 \(N\),\(M\)。

输出格式

如果能在 \(30\) 步以内得到回文数,输出格式形如 STEP=ans,其中 \(\text{ans}\) 为最少得到回文数的步数。

否则输出 Impossible!

输入输出样例 #1

输入 #1

10
87

输出 #1

STEP=4

信息

ID
1006
难度
2
分类
模拟 | 高精度 点击显示
标签
递交数
0
已通过
0
通过率
?
上传者