2851. 达到回文数

单点时限: 2.0 sec

内存限制: 256 MB

整数 $n$ ($1 \le n \le 10000$),从右往左读得到它的反数 $m$,判断 $n$ 与 $m$ 的和 $s$ 是否是一个回文数。回文数是从左往右读和从右往左读结果一样的整数。若 $s$ 不是一个回文数,则继续判断 $s$ 和它的反数的和是否是一个回文数。重复这一过程,直至达到和为一个回文数为止。

例如,$n$ 为 $195$,则 $m$ 为 $591$,$s$ 为 $786$;再计算 $786+687=1473$; $1473+3741=5214$; $5214+4125=9339$。在达到回文数 $9339$ 之前总共进行了 $4$ 次加法操作。

对于 $n$,要求计算出达到回文数之前所进行的加法操作的最小次数和最终达到的回文数。

$n$ 本身不是一个回文数。保证对于 $n$ 来说一定能在 $1000$ 次加法操作之前达到回文数,并且在计算过程中的和一定小于 $2\,000\,000\,000$。

输入格式

由一个整数 $n$ 组成的一行信息。

输出格式

一行信息,用一个空格分隔的最小加法次数及最终达到的回文数。

样例

Input
195
Output
4 9339

1608 人解决,1789 人已尝试。

2143 份提交通过,共有 3899 份提交。

0.4 EMB 奖励。

创建: 13 年,9 月前.

修改: 6 年,9 月前.

最后提交: 1 周,5 天前.

来源: 编程实践第3次考试

题目标签