Juan
2004-11-03 09:41:47 UTC
La expresión [ x ^ (1 / n) ] es usada para el cálculo de la raiz n de
un número. En C, dicha expresión equivale a [ pow(x, (1 / n)) ], pero
al usarla obtengo como valor resultante "1", como si hubiese elevado
el término x a 0. No obstante expresiones como [ pow(x, 0.3) ] sí
proporcionan el resultado correcto. ¿Cómo es esto posible?. Utilizo
Turbo C++ 1.01
--------------------
/* Calcular la raiz n de un número */
#include <stdio.h>
#include <math.h>
main()
{
float num1, num2, raiz;
do {
printf("\nCifra: ");
scanf("%f", &num1);
} while(num1 < 0);
do {
printf("\Exponente: ");
scanf("%f", &num2);
} while(num2 <= 0);
raiz = pow(num1, (1 / num2));
printf("\nRaiz = %.2f", raiz);
}
-------------------
El desarrolo del programa es correcto hasta que se calcula "raiz",
donde siempre obtengo como resultado "1.00". ¿Cómo podría
solucionarlo?
Gracias.
un número. En C, dicha expresión equivale a [ pow(x, (1 / n)) ], pero
al usarla obtengo como valor resultante "1", como si hubiese elevado
el término x a 0. No obstante expresiones como [ pow(x, 0.3) ] sí
proporcionan el resultado correcto. ¿Cómo es esto posible?. Utilizo
Turbo C++ 1.01
--------------------
/* Calcular la raiz n de un número */
#include <stdio.h>
#include <math.h>
main()
{
float num1, num2, raiz;
do {
printf("\nCifra: ");
scanf("%f", &num1);
} while(num1 < 0);
do {
printf("\Exponente: ");
scanf("%f", &num2);
} while(num2 <= 0);
raiz = pow(num1, (1 / num2));
printf("\nRaiz = %.2f", raiz);
}
-------------------
El desarrolo del programa es correcto hasta que se calcula "raiz",
donde siempre obtengo como resultado "1.00". ¿Cómo podría
solucionarlo?
Gracias.