nSchreiben 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
ndas ist ein perfektes Quadrat und ist die Verkettung vonnund einer anderen Zahl. Die Reihenfolge der Ziffern vonndarf nicht geändert werden. Die Zahln, mit der ein perfektes Quadrat erzeugt wird, kann aufgerufen werdenr_1. - Wenn
r_1es sich nicht um ein perfektes Quadrat handelt, wiederholen Sie den obigen Vorgang mitr_1als neue Eingabe für den Vorgang. Wiederholen, bisr_kein 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 neine positive Ganzzahl ist. Wenn r_keine 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?