양의 정수를 입력 n
하면 다음 프로세스를 완료하는 프로그램을 작성하십시오.
n
그것 보다 큰 가장 작은 양의 정수를 찾으십시오. 제곱은 완전 제곱이며n
다른 숫자입니다. 자릿수의 순서는n
변경되지 않을 수 있습니다.n
완벽한 정사각형을 만들기 위해 연결된 숫자를 호출 할 수 있습니다r_1
.r_1
완벽한 제곱이 아닌 경우 프로세스에r_1
대한 새로운 입력으로 위의 프로세스를 반복하십시오 .r_k
로 표시된 완벽한 정사각형이 될 때까지 반복합니다s
.- 의 값을 인쇄하십시오
sqrt(s)
.
어떤 형식으로도 입력 할 수 있습니다. n
양의 정수 라고 가정 할 수 있습니다 . 어떤 경우 r_k
앞에 0 (그리고있다 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:
어쩌면?