Biorąc pod uwagę dodatnią liczbę całkowitą n, napisz program, który ukończy następujący proces.
- Znajdź najmniejszą dodatnią liczbę całkowitą większą niż
nto jest idealny kwadrat i jest ona połączeniemni jakiejś innej liczby. Kolejność cyfrnnie może zostać zmieniona.nMożna połączyć liczbę połączoną w celu uzyskania idealnego kwadratur_1. - Jeśli
r_1nie jest to idealny kwadrat, powtórz powyższy procesr_1jako nowy wkład do procesu. Powtarzaj, ażr_kbędzie to idealny kwadrat, oznaczonys. - Wydrukuj wartość
sqrt(s).
Dane wejściowe można przyjmować w dowolnym formacie. Możesz założyć, że njest to dodatnia liczba całkowita. Jeśli jakikolwiek r_kma zero wiodące (i r_k≠ 0), zero można zignorować.
Przypadki testowe
Oto kilka przypadków testowych. Proces pokazuje powyższe kroki.
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
To jest kod golfowy. Obowiązują standardowe zasady. Najkrótsza odpowiedź (w bajtach) wygrywa.
while x**.5%1:może?