若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。
例如:给定一个十进制数 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!
两行,分别是 N,M。
如果能在 30 步以内得到回文数,输出格式形如 ans
,其中 ans 为最少得到回文数的步数。
否则输出 Impossible!
。
10 87
4