Calcular aproximação de raiz quadrada
Publicado por Israel Silvino Melo Batista (última atualização em 28/05/2015)
[ Hits: 11.070 ]
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
Gerador de PIS/PASEP em Python
Script Python de orçamento pessoal
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)
baschrc customizado pegeui vários. (3)
Rust é o "C da nossa geração"? (8)