Calcular aproximação de raiz quadrada
Publicado por Israel Silvino Melo Batista (última atualização em 28/05/2015)
[ Hits: 11.251 ]
Fiz um programa para aproximar o cálculo da raiz quadrada usando o mesmo algoritmo que eu uso na vida real.
Esse algoritmo mostrou-se surpreendentemente rápido, ele tende rapidamente para a raiz quadrada do número e aparentemente não gasta muito em termo de custos computacionais. Consegui calcular com precisão a raiz quadrada de um número gigante usando 1 como chute e 100 iterações e mesmo que eu colocasse 10000 iterações ainda assim a resposta seria quase instantânea.
Lembrando que esse programa é apenas para fins didáticos, para usar a raiz quadrada em programas Python use o método/função sqrt do módulo math.
#coding: utf8
# Programa para fins didáticos, para usar a raiz quadrada
# em seus programas use o método sqrt do módulo math
from __future__ import division
def raizq(x, chute = 1, i =20):
# Calcula uma aproximação da raiz quadrada x após i iterações
if i < 1:
raise ValueError("É necessário pelo menos uma iteração")
if chute < 1:
chute = 1 # O chute precisa ser maior ou igual a 1, senão o resultado será incorreto
if x < 0:
return complex(0, raizq(-x, chute, i)) # A raíz quadrada de um número negativo é um número complexo
else:
for k in range(i):
chute = 1/2*(chute+x/chute)
return chute
Compressão de série numérica em Python
Avaliador de Expressões Simples
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Script de montagem de chroot automatica
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Instalar Dual Boot, Linux+Windows. (5)
Conky, alerta de temperatura alta (16)
De volta para o futuro - ou melhor, para o presente (parte 2) (3)









