问题 1099 --快速提升代码能力:回文数

1099: 快速提升代码能力:回文数

时间限制: 1 Sec  内存限制: 128 MB
提交: 16  解决: 2  分值: 10
[提交][记录][讨论版][命题人:]

题目描述

一个正整数,如果交换高低位以后和原数相等,那么称这个数为回文数。比如 1212332都是回文数,134567 不是回文数。

任意一个正整数,如果其不是回文数,将该数交换高低位以后和原数相加得到一个新的数,如果新数不是回文数,重复这个变换,直到得到一个回文数为止。例如,57  变换后得到 132(57 + 75)132  得到 363(132 + 231) 363 是一个回文数。

曾经有数学家猜想:对于任意正整数,经过有限次上述变换以后,一定能得出一个回文数。至今这个猜想还没有被证明是对的。现在请你通过程序来验证。

输入

输入一行一个正整数 n

输出

输出第一行一个正整数,表示得到一个回文数的最少变换次数。

接下来一行,输出变换过程,相邻的数之间用"--->"连接。输出格式可以参见样例。

保证最后生成的数在 int 范围内。

样例输入

349

样例输出

3
349--->1292--->4213--->7337

提示

来源

 

[提交][记录]