Wenn Sie eine Zahl runden und die nächste Ziffer ist >= 5, fügen Sie 1 hinzu. Zum Beispiel:
3.1415926535 rounded to 1dp is 3.1
3.1415926535 rounded to 4dp is 3.1416 <-- Note the 5 changed to 6
3.1415926535 rounded to 5dp is 3.14159
3.1415926535 rounded to 9dp is 3.141592654 <-- Note the 3 changed to 4
Ihre Herausforderung besteht darin, eine Ganzzahl als Eingabe zu erhalten und die Anzahl der Dezimalstellen auszugeben, vor denen Sie die Quadratwurzel der Zahl runden müssten - dh die Anzahl der Dezimalstellen vor einer vorkommenden Ziffer >= 5.
Die Ganzzahl liegt zwischen 0 und einschließlich 100.000, sodass Sie für den Randfall 59752 17 Dezimalstellen unterstützen müssen (um die 17. zu überprüfen).
Wenn Ihre Programmiersprache die Anzahl der Dezimalstellen nicht ändern kann, können Sie ein "?" Nachricht an den Benutzer.
Beispiel:
Input Root Output
5 -> 2.23 606797749979 -> 2
41 -> 6.40312423 743284 -> 8 (Largest gap under 100)
596 -> 24.4131112314 674 -> 10 (Largest gap under 1000)
59752 -> 244.44222221212112029 -> 16 (Largest gap under 100000)
Mach was du willst auf perfekten Quadraten.
Dies ist Code-Golf, also gewinnt der kürzeste Code.
Für alle Interessierten ist die Zahl 310.617 die größte unter 1.000.000 und hat 18, bevor Sie eine Ziffer erreichen >= 5.