Hola, como sabran o se imaginaran, soy adicionado a la informatica, y en el libro todavia no he visto la función pow, asi que me preguntaba si "num ^ exp" seria valido para calcular la potencia de algun numero. saludoss
no se mucho de programacion, pero no es valido, tienes que usar ejemplo..POW(2,4)
¿5 elevado a la 10 ?
int var = 5 ** 10;
no sirve :-(
ya fue hacelo con un for que recorra tantas veces (n potencia) ...
http://www.alegsa.com.ar/Notas/Otros/lista_comentarios.php?id=100&id_c=877
no tengo el compilador para probarlo ;/
depende de lo que busques podes usar esto:
int pot(int,int);
int main(){
pot(5,10);
return 0;
}
int pot(int h,int p){
if(p==0)return 1;
int i,w;
w=h;
for(i=1;i<p;i++)
h=h*w;
return h;
}
.
#include <iostream>
using namespace std;
long double pow (double x, unsigned long n);
int main() //(int argc, char *argv[])
{
cout << pow(5.2,8) << endl;
cin.get();
return 1;
}
long double pow (double x, unsigned long n)
{
long double p;
for ( p=1 ; n>0 ; --n )
p *= x;
return p;
}
Temibles Lunas!¡.
.
Cita de: mini_nauta en 10 Diciembre 2010, 04:34 AM
Hola, como sabran o se imaginaran, soy adicionado a la informatica, y en el libro todavia no he visto la función pow, asi que me preguntaba si "num ^ exp" seria valido para calcular la potencia de algun numero. saludoss
Ese operador es la XOR bit a bit. No hay un operador para calcular potencias en C, tienes que usar la función pow como ya te han dicho o hacerte una tú mismo.
Te dejo un código que calcula potencias usando Divide&Conquer con una complejidad de O(logn) (los que te han puesto son O(n)). Esto es útil sobretodo cuando se quieren calcular potencias muy grandes módulo un cierto número.
#include <stdio.h>
int eleva(int base, int exp) {
if (exp == 0) return 1;
int res = eleva(base, exp/2);
res *= res;
if (exp%2 == 1) res *= base;
return res;
}
int main() {
int base, exp;
scanf("%d %d", &base, &exp);
printf("%d\n", eleva(base, exp));
}
graciasya toy probando..saludoss
Ahi ghastlyX te canto la posta...
Si es para float o double, usa el pow de math.h q lo hace en un par de lineas de assembly ( creo q son 3 o 4 instrucciones nada mas, sin ningun ciclo ).