Python 语言程序设计(2017 年秋)

1055. 达到回文数

单点时限: 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
不限期开放

题目列表