目录
问题描述
若一个数(首位不为零)从左向右读与从右向左读都是一样,我们就将其称之为回文数。例如:给定一个 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” 。
输入格式
给定一个 N(2<N≤10 或 N=16) 进制数 M。
输出格式
最少几步。如果在 30 步以内(包含 30 步)不可能得到回文数,则输出“Impossible”。
思路
这个题目是算N进制的加法,这样就要用到加法最原始的计算方法才比较好算。
高精度加法!