Avatar ·

Qual é a diferença entre diferentes maneiras de extrair raiz em Python?

📁 python, exemplo

Extrair raiz em Python pode ser feito de três maneiras: x ** 0.5, pow(x, 0.5), math.sqrt(x). E para inteiros com resultado inteiro, também math.isqrt(x). Qual é a diferença entre elas?

P.S. Por exemplo, ao verificar se n é primo, é necessário fazer um loop até a raiz quadrada de n. Isso está correto?

for i in range(2, int(n ** 0.5) + 1):    ...

A questão é principalmente sobre correção (precisão dos cálculos). Desempenho fica em segundo lugar.