Algoritmia - Resolver la raiz enesima de un numero

 
Vista:
Imágen de perfil de Francisco
Val: 4
Ha aumentado su posición en 3 puestos en Algoritmia (en relación al último mes)
Gráfica de Algoritmia

Resolver la raiz enesima de un numero

Publicado por Francisco (4 intervenciones) el 20/05/2018 11:43:32
Buenos dias:

¿Cómo puedo calcular la raiz enesima de un numero sin usar la potenciacion ni radicacion?,

Intenté hacer un hacer mientras dentro de otro hacer mientras en el que el hacer mientras mas interno iba incrementando la cantidad de veces que yo iba ingresando. Hice la traza. Tardé 7 horas en hacerla. Pero en vez de darme por ej si el numero que ingreso es 10 y el indice de ese radicando (10) es 6 me deberia dar 1,46777.
Pero me da 3,16666666

Algo estoy haciendo mal.

hacer

r = r + 0.1;

hacer
aux = r * r;

j = j + 1;
mientras (j <= veces);
fin hacer mientras

res = aux;

mientras (radicando >= res);

fin hacer mientras

¿En qué estoy fallando?

Busco encontrar la forma de obtener la raiz enesima de ese numero.

Porque yo se que para sacar la raiz cuadrada dentro del hacer mientras tengo que poner

res = r * r;

Para una raiz cubica,
res = r * r * r;
Para una raiz cuarta,
res = r * r * r * r;

Pero cuando desconozco el indice deberia iterar tantas veces equivalga en su suma al numero de indice del radicando.
Esto me lleva a suponer que debo hacer un bucle anidado en el que multiplique ese numero.

El algoritmo esta bien. Pero fallo en el calculo de la multiplicacion de la raiz que por si misma me da el radicando.
Se que lo tengo que hacer en un bucle anidado.
Probé de varias formas, pero aun no obtengo el patron.

¿Alguien que me de una idea?
Se lo agradeceria mucho.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de gilman
Val: 4
Ha disminuido 1 puesto en Algoritmia (en relación al último mes)
Gráfica de Algoritmia

Resolver la raiz enesima de un numero

Publicado por gilman (4 intervenciones) el 21/05/2018 13:35:19
cambía
1
aux = r * r;
por
1
aux = aux * r;

De todas formas me parece un método poco eficiente, sin complicarte mucho la vida podrías implementar el método de la bisección para calcular la ráiz mayor que cero de la ecuación:

x^n-radicando = 0
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar