#GJD0001. 回文数

回文数

Description

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

例如:给定一个 10进制数 56,将 56加 65(即把56从右向左读),得到 121是一个回文数。

又如,对于10进制数87,

STEP1: 87+78= 165

STEP2: 165+561= 726

STEP3:726+627=1353

STEP4:1353+3531=4884

在这里的一步是指进行了一次N进制的加法,上例最少用了4步得到回文数4884。

写一个程序,给定一个N(2<N<=10或N=16)进制数 M.求最少经过几步可以得到回文数。

如果在30步以内(包含30步)不可能得到回文数,则输出“Impossible”

Input Format

一行,一个正整数N 和 M,N代表进制,M代码这个数

Output Format

得到回文数的步数或者“Impossible”

9 87
6

Hint

N进制运算

1、当前位规范由%10改为% n

2、进位处理由/10改为/n

3、其他运算规则不变

Source

思码特OJ编程训练营 http://127.0.0.1