Ir ao conteúdo

Enezima Raiz de X


Hanz Billig

Posts recomendados

Postado

Escrevi uma serie de códigos pra montar uma calculadora de operações avançadas e macros.

Ta, eu tava indo bem até chegar na parte de tirar a raiz N de um numero X.

Eu sei que da pra fazer com o code de potenciação da match.h e usando N em forma de fração, mas eu quero a hard way.

O que tenho funciona perfeita mente. Ele é bem preciso e tudo, mas é lento.

O que obtive até agora:

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
#define SC -1

int main();

void rad()
{
double n,x,ans,z,u,a,b,c,d;
c = 0;
ans = 0;
/*********************************************/
printf("\n\tMODELO: n%cX = Z",251);
printf("\n\tDigite n: ");
scanf("%lf",&n);
printf("\tDigite X: ");
scanf("%lf",&x);
/*********************************************/
if(x == 0){printf("\n\tZ = 0");}
/*********************************************/
else if(x == 1){printf("\n\tZ = 1");}
/*********************************************/
else if(x < 0){
x = x * SC;
do{
z = 1;
ans = ans + 0.0000001;
u = n;
do{z = z * ans; u = u - 1;}while(u != 0);
a = x - z;
b = 1 / 10000000;
if((z == x)||(a<){printf("\n\tZ = %.6lfi",ans); c = 1;}
}while(c != 1);
}
/*********************************************/
else{
do{
z = 1;
ans = ans + 0.0000001;
u = n;
do{z = z * ans; u = u - 1;}while(u != 0);
a = x - z;
b = 1 / 10000000;
if((z == x)||(a<){printf("\n\tZ = %.6lf",ans); c = 1;}
}while(c != 1);
}
/*********************************************/
getch();
main();
}

Postado

Bom, sendo que você pode usar a biblioteca math.h, sugiro você olhar outros modos de achar a raiz n de x... ex: para se achar a raiz quadrada um jeito "simples" (pelo que me lembro) é: 10^1/n*log x ou e^1/n*ln x... para achar os logaritmos (naturais) e o numero de euler (o "e" ai..) tem um link no wikipedia.. vou mandar os dois como fontes, beleza?

para calculo de raizes: http://pt.wikipedia.org/wiki/Raiz_quadrada e http://en.wikipedia.org/wiki/Square_root#Computation

como achar logaritmos (usando série): http://en.wikipedia.org/wiki/Logarithm#Power_series

espero que isso ajude :)

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!