Dado um número decimal k
, encontre o menor número inteiro, de n
modo que a raiz quadrada de n
esteja dentro k
de um número inteiro. No entanto, a distância deve ser diferente de zero - n
não pode ser um quadrado perfeito.
Dado k
, um número decimal ou uma fração (o que for mais fácil para você), de modo que 0 < k < 1
, produz o menor número inteiro positivo, de n
modo que a diferença entre a raiz quadrada de n
e o número inteiro mais próximo da raiz quadrada de n
seja menor ou igual a, k
mas diferente de zero .
Se i
é o número inteiro mais próximo da raiz quadrada de n
, você está procurando o primeiro n
onde 0 < |i - sqrt(n)| <= k
.
Regras
- Você não pode usar a implementação insuficiente de um número não inteiro de um idioma para banalizar o problema.
- Caso contrário, você pode assumir que
k
isso não causará problemas com, por exemplo, arredondamento de ponto flutuante.
Casos de teste
.9 > 2
.5 > 2
.4 > 3
.3 > 3
.25 > 5
.2 > 8
.1 > 26
.05 > 101
.03 > 288
.01 > 2501
.005 > 10001
.003 > 27888
.001 > 250001
.0005 > 1000001
.0003 > 2778888
.0001 > 25000001
.0314159 > 255
.00314159 > 25599
.000314159 > 2534463
Entradas de caso de teste separadas por vírgula:
0.9, 0.5, 0.4, 0.3, 0.25, 0.2, 0.1, 0.05, 0.03, 0.01, 0.005, 0.003, 0.001, 0.0005, 0.0003, 0.0001, 0.0314159, 0.00314159, 0.000314159
Isso é código-golfe , então a resposta mais curta em bytes vence.