n
Schreiben Sie bei gegebener Eingabe einer positiven Ganzzahl ein Programm, das den folgenden Vorgang abschließt.
- Finden Sie die kleinste positive ganze Zahl größer als
n
das ist ein perfektes Quadrat und ist die Verkettung vonn
und einer anderen Zahl. Die Reihenfolge der Ziffern vonn
darf nicht geändert werden. Die Zahln
, mit der ein perfektes Quadrat erzeugt wird, kann aufgerufen werdenr_1
. - Wenn
r_1
es sich nicht um ein perfektes Quadrat handelt, wiederholen Sie den obigen Vorgang mitr_1
als neue Eingabe für den Vorgang. Wiederholen, bisr_k
ein perfektes Quadrat angegeben ists
. - Drucken Sie den Wert von
sqrt(s)
.
Die Eingabe kann in jedem Format erfolgen. Sie können davon ausgehen, dass dies n
eine positive Ganzzahl ist. Wenn r_k
eine führende Null (und r_k
≠ 0) hat, kann die Null ignoriert werden.
Testfälle
Hier sind einige Testfälle. Der Prozess demonstriert die obigen Schritte.
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
Das ist Code Golf. Es gelten Standardregeln. Die kürzeste Antwort (in Bytes) gewinnt.
while x**.5%1:
vielleicht?