Algorítmo para Calcular Raiz Quadrada
Publicado por Renê de Souza Pinto 27/02/2005
[ Hits: 57.487 ]
Homepage: http://renesp.com.br
Este pequeno programa ilustra um interessante algorítmo desenvolvido pelo matemático François Viète para calcular a raiz quadrada de um número.
O Algorítmo parte do princípio de que a raiz de um número seja a soma de qualquer número que nós podemos chutar mais um erro, que condiz com a diferença entre o chute e o valor real da raiz.
/****************************************** * Programa: Agorítmo para Calcular Raiz Quadrada * Autor...: Renê de Souza Pinto * Data....: 27/02/2005 * * Compilado com: gcc 3.3.4 *******************************************/ #include <stdio.h> float raiz(float x); float absF(float x); int main(void) { float n; printf("\n\nForneça um número que deseja calcular a raiz quadrada: " ); scanf("%f",&n); printf("\n\nA raiz quadrada de %.5f é %.12f\n\n",n,raiz(n)); return(0); } /* Calcula Valor absoluto para tipo float */ float absF(float x) { if(x < 0) return(-1*x); else return(x); } /* Calcula a Raiz Quadrada */ float raiz(float x) { float r = 1.00; /* Chute inicial */ float rp, res; int sair = 0; while(!sair) { res = r + ((x - (r*r)) / (2*r)); /* Checa resultado */ rp = res * res; if( (float)(rp-x) == 0 || absF(rp-x) < 0.0000000000000001 || r == res) { sair = 1; } else { r = res; } } return(res); }
Matrizes esparsas, produto por escalar e produto por um vetor
Nenhum comentário foi encontrado.
Pra quem contribui com artigos e dicas (0)
Arch Linux - Guia para Iniciantes (5)
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
O Que Fazer Após Instalar Ubuntu 25.04
O Que Fazer Após Instalar Fedora 42
Debian 12 -- Errata - Correções de segurança
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Pra quem contribui com artigos e dicas (0)
Monitor fora de escala ao bootar sistema (9)
NAT LoopBack - Hairpin NAT (2)
Alguém poderia me ajudar a escolher peças pra montar um desktop? (18)