给定正整数的输入n
,编写一个程序来完成以下过程。
- 找到大于
n
该整数的最小正整数,它是一个完美的正方形,是n
和其他数的串联。的数字顺序n
不得更改。级联n
以产生一个完美平方的数字可以称为r_1
。 - 如果
r_1
不是理想的正方形,则重复上述过程,r_1
并将其作为该过程的新输入。重复直到r_k
是表示的完美正方形s
。 - 打印的值
sqrt(s)
。
输入可以采用任何格式。您可以假定这n
是一个正整数。如果任何r_k
一个具有前导零(且r_k
≠0),则可以忽略零。
测试用例
这是一些测试用例。该过程演示了上述步骤。
Input: 23
Process: 23, 2304, 4
Output: 2
Input: 10
Process: 10, 100, 0
Output: 0
Input: 1
Process: 1, 16, 6, 64, 4
Output: 2
Input: 5
Process: 5, 529, 29, 2916, 16
Output: 4
Input: 145
Process: 145, 145161, 161, 16129, 29, 2916, 16
Output: 4
Input: 1337
Process: 1337, 13373649, 3649, 36493681, 3681, 368102596, 2596, 25969216, 9216
Output: 96
这是代码高尔夫。适用标准规则。最短的答案(以字节为单位)获胜。
while x**.5%1:
也许?