Quando si arrotonda un numero, se >= 5si aggiunge la cifra successiva 1. Ad esempio:
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
La tua sfida è quella di ricevere un numero intero come input e di output il numero di posizioni decimali prima del quale dovresti arrotondare la radice quadrata del numero, ovvero il numero di posizioni decimali prima della cifra dell'anumber che si >= 5verifica.
L'intero sarà compreso tra 0 e 100.000 inclusi, quindi per il caso limite di 59752 è necessario supportare 17 punti decimali (per verificare il 17 °).
Se il linguaggio di programmazione non è in grado di modificare il numero di punti decimali, è possibile visualizzare un "?" messaggio per l'utente.
Esempio:
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)
Fai quello che vuoi su quadrati perfetti.
Questo è code-golf, quindi vince il codice più corto.
Per chiunque sia interessato, il numero 310.617 è il più grande sotto 1.000.000 e ha 18 prima di raggiungere una cifra >= 5.