#P2183. Bovine Math Geniuses

Bovine Math Geniuses

本题没有可用的提交语言。

题目描述

农夫约翰喜欢帮助奶牛提升数学能力。他承诺,如果奶牛能解决各种数学问题,就给它们干草味的冰淇淋。

他对贝西说:“选一个六位整数,告诉我它是多少。然后提取中间四位数字,将它们平方,去掉高位数字直到得到一个六位或更短的数,告诉我结果。”

贝西是一位隐藏的数学天才,她选择了六位数字 655554。“哞:6 5 5 5 5 4,” 她说。然后她提取中间四位数字:5555,将其平方得到 30858025,只保留最后六位数字 858025。“哞:8 5 8 0 2 5,” 她回答约翰。

约翰明智地点头,认可贝西的算术能力。“现在继续这个过程,直到遇到一个已经出现过的数字,” 他要求道。 贝西决定最好创建一个表格来记录所有步骤:

Middle Middle Shrunk to

   Num   4 digits   square   6 or fewer

 655554    5555    30858025    858025

 858025    5802    33663204    663204

 663204    6320    39942400    942400

 942400    4240    17977600    977600

 977600    7760    60217600    217600 <-+

 217600    1760     3097600     97600   |

  97600    9760    95257600    257600   |

 257600    5760    33177600    177600   |

 177600    7760    60217600    217600 --+

贝西将表格展示给约翰,约翰微笑着端出一大盘美味的干草冰淇淋。“没错,贝西,” 他称赞道。“这个序列在四个数字的循环中重复,第一个遇到的循环数字是 217600。经过 9 次迭代后检测到循环。”

请帮助其他奶牛赢取冰淇淋奖励。给定一个六位数字,计算检测到循环所需的总迭代次数、遇到的第一个循环数字,以及循环的长度。

约翰想知道贝西是否知道所有的技巧。他曾制作过一个表格帮助她,但她从未问过:

Middle Middle Shrunk to

   Num   4 digits   square   6 or fewer

 200023    0002       4        4

      4       0       0        0

      0       0       0        0         [a self-loop]

其结果为:检测到循环需要 3 次迭代,循环数字为 0,循环长度为 1。

注意:你的程序使用的内存不得超过 16MB。

输入

第 1 行:一个六位整数,作为序列测试的起始数字。

输出

第 1 行:三个空格分隔的整数:循环的第一个数字、循环长度、检测到循环的最小迭代次数。

输入数据 1

655554

输出数据 1

217600 4 9