Ir ao conteúdo
  • Cadastre-se

C Calculando raiz quadrada sem math


Darlon Salomão

Posts recomendados

1 hora atrás, Math.Pi disse:

 

Obrigado!! @Math.Pi lá eu encontrei esse código que esta calculando bem próximo de uma raiz quadrada, mas eu não estou conseguindo entender o código depois do "recorrer = numero" o que acontece pra ele saber o valor da raiz se dar 1/2... alguém pode me explicar ??

#include <stdio.h>

float raiz_quadrada(float numero);

int main( int argc, char **argv)
{  
    float numero;
    
    printf("Entre com um número positivo por favor : ");
    scanf("%f",&numero);
    
    printf("A raiz quadrada de %.3f é %.5f \n",numero,raiz_quadrada(numero));

    return(0);
}


float raiz_quadrada (float numero)
{
    int n;
    float recorre = numero;
    
    for (n = 0; n < 10; ++n)
          recorre = recorre/2 + numero/(2*recorre);
            
    return(recorre);    
} 

 

Link para o comentário
Compartilhar em outros sites

Olá, tudo certo!? Então ...

Eu não entendi as suas razões, se for algum projetor maior recomendo voltar atrás nesse decisão de não usar math, porém no caso de um exercício; recomendo pensar um pouco mais, pois é bem simples de entender.

 

Por exemplo, aqui vem uma simplificação a custo de performance do método de newthon.

 

Calcule a raiz de n, para n não quadrado. Para provar que n não é quadrado, ingenuamente, basta multiplicar um número por si até que o produto seja menor ou igual n, 

 

√(n= 10)

   1 x 1=   1 < 10 ✔

   2 x 2=   2 < 10 ✔

   3 x 3=   9 < 10 ✔

   4 x 4= 16 > 10 ✘, logo a está 3 < √10 < 4

float raiz_quadrada_de( float numero )
{	float 	r= 1;
		/*: Menor raiz exata aproximada de n */
	
	while( numero > (r * r) )r+= 1E+0;
	/*: Calcular a raiz inteira aproximada */
	
	while( numero < (r * r) )r-= 1E-6;
	/*: Cacular a raiz a fração aproximada */
	
	return r;
	/*: Retorna raiz de n */
}

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...