Boa tarde galera.
Bom eu desenvolvi uma pequena função para calcular a raiz quadrada de um número inteiro positivo e queria partilha-lo com vocês. A função só funciona para valores inteiros e utiliza o método babilónico (Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...) para o cálculo da raiz.
Bom espero k tenham gostado. Se alguém tem alguma melhoria é so falar.
Ah o código foi testado no DEV e funiona, dando resultado com dois digitos de precisão.
Bom eu desenvolvi uma pequena função para calcular a raiz quadrada de um número inteiro positivo e queria partilha-lo com vocês. A função só funciona para valores inteiros e utiliza o método babilónico (Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...) para o cálculo da raiz.
Código:
/***** * Autor : Rolando Ramos Sanches {anuppu@hotmail.com} * * Descrição: Calcula a raiz quadrada de um número inteiro (utilizando o metodo babilonio). *****/ /* Inclução de bibliotecas */ #include <stdio.h> /* Função que calcula a raiz quadrada de um nº inteiro */ float raiz(int valor){ int aux, bux; float cux, alfa, beta; aux=1; while((bux=aux*aux)<=valor){ // Procura por um número cujo quadrado seja mais proximo (e menor) que o valor procurado cux=aux; aux++; } if((cux*cux)==valor) return cux; beta=((valor/(((valor/cux)+cux)/2))+(((valor/cux)+cux)/2))/2; // Calcula a raiz, através do metodo babilonico return valor/beta; } /* Função usado para facilitar o teste */ int main(void){ int d; printf("\nIntroduza o numero: "); scanf("%d",&d); printf("A raiz eh: %.3f\n", raiz(d)); getchar(); getchar(); }
Ah o código foi testado no DEV e funiona, dando resultado com dois digitos de precisão.
Comment