Cho đầu vào của một số nguyên dương n, viết chương trình hoàn thành quy trình sau.
- Tìm số nguyên dương nhỏ nhất lớn hơn
nđó là một hình vuông hoàn hảo và là phép nốinvà một số số khác. Thứ tự của các chữ sốncó thể không được thay đổi. Số được nối vàonđể tạo ra một hình vuông hoàn hảo có thể được gọir_1. - Nếu
r_1không phải là một hình vuông hoàn hảo, hãy lặp lại quy trình trên vớir_1tư cách là đầu vào mới cho quy trình. Lặp lại cho đến khir_klà một hình vuông hoàn hảo, ký hiệus. - In giá trị của
sqrt(s).
Đầu vào có thể được thực hiện trong bất kỳ định dạng. Bạn có thể cho rằng đó nlà một số nguyên dương. Nếu bất kỳ r_kcó số 0 đứng đầu (và r_k≠ 0), số 0 có thể bị bỏ qua.
Các trường hợp thử nghiệm
Dưới đây là một số trường hợp thử nghiệm. Quá trình thể hiện các bước trên.
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
Đây là mã golf. Quy tắc chuẩn áp dụng. Câu trả lời ngắn nhất (tính bằng byte) sẽ thắng.
while x**.5%1:có lẽ vậy?