Calcular aproximação de raiz quadrada
Publicado por Israel Silvino Melo Batista (última atualização em 28/05/2015)
[ Hits: 10.826 ]
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
Visualizar a data e hora de um servidor SNTP e atualizar na BIOS do sistema
ISOsync_pt-BR.py - Um Baixador Automático de ISOs de Sabayon, escrito em Python
Vou voltar moderar conteúdos de Dicas e Artigos (0)
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Vou voltar moderar conteúdos de Dicas e Artigos (0)
Instalação Uefi com o instalador clássico do Mageia (0)
É cada coisa que me aparece! - não é só 3% (2)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta