U1888.回文数的步数
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
一个数(首位不为零)从左向右读与从右向左读都一样,我们就将它称为回文数。如:121、2662 都是回文数。
对于一些给定的十进制数,把它本身与它本身从右向左读得到的数相加,经过多次这样的相加后可以得到回文数。
例如:给定一个 10进制数 56,将 56 加 65(即把 56 从右向左读),得到 121 是一个回文数。
又如:
对于 10 进制数 87:
STEP1:87+78 = 165
STEP2:165+561 = 726
STEP3:726+627 = 1353
STEP4:1353+3531 = 4884
在这里的一步是指进行了一次加法,上例最少用了 4 步得到回文数 4884。
现在请你编写一个程序,给定一个 10 进制数 M,求最少经过几步可以得到回文数。如果在 30 步以内(包含 30 步)不可能得到回文数,则输出-1。
输入格式
文件中只有一个正整数,就是 M 的值,M 不超过 10 位。
输出格式
只有一个数,就是所经过的最少步数,如果在 30 步以内(包含 30 步)不可能得到回文数,则输出 -1。
输入输出样例
输入#1
87
输出#1
4