C/Visual C - continuacion de while

 
Vista:

continuacion de while

Publicado por Miguel (3 intervenciones) el 22/02/2004 06:03:51
tengo un problema con mi programa, es un programa que me piden lo siguiente Utilizando el while implementa la función que calcule bn de un numero entero dado.
b = 2 n = 4
24 = 2*2*2*2
es 2 exp4, pero el programa que hice, solo lo multiplica el numero por ejemplo 2*2=4 y luego 4*4=16 y luego 16*16=256 y asi se sigue, entonces no se como poner que me respete la base y el exponente que yo le ponga , aqui pongo el codigo fuente para que me chequen me ayuden a ver en que esta mal
#include<stdio.h>
void main()
{
int b,n=0,p;
printf("escribe el numero base:");
scanf("%d",&b);
printf("escribe la potencia:");
scanf("%d",&p);

while(n<=p)
{

printf("%d*",b);
b=b*b;
n++;
}
printf("%d",b);
}
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

RE:continuacion de while

Publicado por Geo (36 intervenciones) el 22/02/2004 17:52:15
Muy sencillo, con cada iteración estás cambiando el valor de la base original, necesitas emplear otra variable para guardar el resultado y no tener que alterar la variable en que almacenas la base.

Aquí está la corrección:

#include <stdio.h>

int main() {
int base;
int potencia;
int resultado = 1;
int n = 0;

printf("Escribe el número base: ");
scanf("%d", &base);
printf("Escribe la potencia: ");
scanf("%d", &potencia);

while (n < potencia) {
printf("%d * ", base);
resultado *= base;
n++;
}

printf("\n\nResultado: %d\n\n", resultado);

return 0;
}

Saludos,
José Jorge (Geo).
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