回文数

每当一头新奶牛被送到农场上时,Farmer John总会在她身上烙一个数字,也就是她在牛群中的编号。奶牛们喜欢回文数,因为它们不管是顺着读还是倒着读,都能表示同样的数字。因此她们希望自己的孩子们的编号是回文数。
奶牛们按照以下的方法来决定她们孩子的编号:每一次操作中,她按从右往左的顺序读自己的编号,得到一个新的数字,不妨把它称为该奶牛编号的“反向数”。然后她把这个反向数与她本来的编号求和。由于奶牛们编号的不同,有时在一次操作后,得到的和恰好是一个回文数(比如说,12+21=33),而有时不是。如果和不是回文数的话,那奶牛们会以所得和为新的编号,再重复上述的操作,直到和是一个回文数为止。比如说,编号为87的奶牛,在用自己的编号进行4次操作后,得到了一个回文数:
原数 反向数 和
操作 1: 87 + 78 = 165
操作 2: 165 + 561 = 726
操作 3: 726 + 627 = 1353
操作 4: 1353 + 3531 = 4884
现在,你已经知道了奶牛们的编号(一个正整数)。你的任务是计算某头奶牛的孩子的编号,以及在得到这个编号的过程中,一共要进行多少次操作。输入数据保证答案数值不超过2*10^9。

程序名: radar
输入格式:
* 第1行: 包括一个正整数,即某头奶牛的编号,并且这个编号不是回文数。

输入样例 (radar.in):
87

输出格式:

  • 第1行: 输出2个用空格隔开的整数,分别表示得到一个回文数编号所需要的操作次数,以及这个编号的具体数值。

输出样例 (radar.out):
4 4884

信息

ID
1798
难度
9
分类
(无)
标签
递交数
7
已通过
5
通过率
71%
被复制
3
上传者