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
首页