Hacer raices en C/C++

Pues estoy intentando hacer raices cuadradas en c/c++, y no encuentro nada para hacer raices cuadradas. Tampoco he encontrado nada sobre como elevar 4 elevado a 1/2 (que seria igual).
Para hacer un poco tengo lo siguiente:


#include
#include
#include
void main ()
{
int x;
int y=0;
int total;
int count;
randomize();
printf("Introduce la raiz:\t");
scanf("%d", &total);
do{
x=random(9999999);
y=x*x;
count++;
}while((y!=total)||(count<=9999999));
printf ("\n %d", x);
getche();
}


Como veis esto es un remedio casero, por que no resuelve ecuaciones con decimales, y es bastante tardio (por eso tengo puesto el contador, para que no se quede estancado)
Alguien me da un remedio mejor??
Muchas gracias y saludos!
#include

sqrt
pow
exp
log
sin
cos
abs


ahi tienes unas cuantas
apñero pa eso tamos ;)
si necesitas algo mas ya sabes pq aqui tamos rulando.
deww
A ver,... voy a aplicar mis pocos conocimientos de IP1 (Introducción a la programación 1) que estoy estudiando en 1º de ingienería informática en Sevilla, por cierto, es una asignatura que ya he abandonado por que anunque entienda algo no estoy del todo puesto como para hacer un examen de los que me ponen XD... a lo que iva:

Sin usar el math.h! XD : a lo bestia (me lo inventé yo con el aburrimiento de por medio). Bueno ya sabes, stdio.h, void main..., int...
lo que importa es el bukle: (n es el numero del que queremos hallar la raiz)


while i^2<= n
{
i = i + 0.00000001
}

XD que poco rendimiento ¿no? XD, pero rula...

Salu2
¿De dónde sacaste ese algoritmo Oooh

¿un XOR entre i y 2? :O
while i^2<= n
{
i = i + 0.00000001
}

que poco rendimiento ¿no? , pero rula...


Hola!

¿Este codigo es un poco chapuza no? Pa empezar, el igual sobra, si es igual quieres que pare, no q vuelva a entrar en el bucle.... Ademas, el problema es q no puedes usar ni lo de elevar ni la raiz. El programa deberia ser algo asi:

while (i*i < n)
{
i = i + 0.001;
}

Pero bueno, pa hacer esto se usa el math q es mas sencillo :P.

Saludos!

Xosen.
Poniendo i^2 elevo al cuadrado no? entonces tambien podria hacer para la raiz esto:
i^1/2;
no?
while i^2<= n
{
i = i + 0.00000001
}

Vamos, que no es por nada, pero lo que busco es algo mas rapido. De todas formas con eso lo que sucederia es que para con el primer numero, ya que eso pararia al primero, ¿no?

Saludos!
Tienes razón, i*i , pero bueno!! mas o menos jajajaj será mejor que no me presente al examen
Escrito originalmente por \-\adEs
Poniendo i^2 elevo al cuadrado no? entonces tambien podria hacer para la raiz esto:
i^1/2;
no?

Vamos, que no es por nada, pero lo que busco es algo mas rapido. De todas formas con eso lo que sucederia es que para con el primer numero, ya que eso pararia al primero, ¿no?

Saludos!



NO, no elevas al cuadrado, el operador ^ es el XOR lógico.

Usa las librerías estándar que para eso están ;)
9 respuestas