Quando você arredondar um número, se o próximo dígito for >= 5
adicionar 1. Por exemplo:
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
O seu desafio é receber um número inteiro como entrada e gerar o número de casas decimais antes do qual você teria que arredondar a raiz quadrada do número - ou seja, o número de casas decimais antes de >= 5
ocorrer um dígito .
O número inteiro estará entre 0 e 100.000, inclusive, portanto, para o caso de margem de 59752, você precisa suportar 17 pontos decimais (para verificar o dia 17).
Se a linguagem de programação não puder alterar o número de pontos decimais, você poderá exibir um "?" mensagem para o usuário.
Exemplo:
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)
Faça o que quiser em quadrados perfeitos.
Isso é código-golfe, então o código mais curto vence.
Para qualquer pessoa interessada, o número 310.617 é o maior abaixo de 1.000.000 e tem 18 antes de você chegar a um dígito >= 5
.