Crie uma função que receba um inteiro positivo n e retorne a raiz quadrada simplificada de n como [_a_, _b_], onde a⋅sqrt(b) = sqrt(n) e b seja o menor possível.
simplifySqrt(72) ➞ [6, 2]
simplifySqrt(160) ➞ [4, 10]
simplifySqrt(36) ➞ [6, 1]
simplifySqrt(35) ➞ [1, 35]Uma maneira comum de simplificar raízes quadradas é extrair repetidamente quadrados perfeitos do número sob a raiz quadrada. Por exemplo, se você precisar simplificar sqrt(72), poderá extrair quadrados perfeitos de 72 de acordo com o processo a seguir:
sqrt(72)72 é divisível por 4, então extraia 4 de 72:
sqrt(4⋅18)Agora é possível calcular a raiz quadrada do quadrado perfeito 4 e retirá-lo da raiz quadrada:
2⋅sqrt(18)Agora repita o processo até que não seja possível extrair mais quadrados perfeitos. 18 é divisível por 9, então extraia-o:
2⋅sqrt(9⋅2)Retire o 9, calcule sua raiz quadrada e simplifique:
2⋅3⋅sqrt(2)= 6⋅sqrt(2)2 não tem fatores quadrados perfeitos além de 1, então 6⋅sqrt(2) é a forma mais simples de sqrt(72). Portanto, a função retornaria [6, 2].
Esta é apenas uma abordagem para resolver este problema; provavelmente existem outras maneiras mais simples ou rápidas do que este método. Sinta-se à vontade para usar qualquer método que quiser.