Raiz quadrada simplificada
Crie uma função que receba um inteiro positivo n e retorne a raiz quadrada simplificada de n como uma tupla de inteiros positivos (a, b), onde a⋅sqrt(b) = sqrt(n) e b seja o menor possível.
Exemplos
simplify_sqrt(72) ➞ (6, 2)
simplify_sqrt(160) ➞ (4, 10)
simplify_sqrt(36) ➞ (6, 1)
simplify_sqrt(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 a tupla (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.
Notas
- Se n for um quadrado perfeito, b deverá ser 1.
- Se n não tiver fatores quadrados perfeitos (além de 1), a deverá ser 1.