Elabore um programa que solicita dois números A e B (considere que serão informados apenas valores
positivos), onde A representa a base e o B representa o expoente em uma operação de potenciação (AB). Utilizando estruturas de repetição, o programa deverá calcular e imprimir na tela o resultado de AB. RESTRIÇÃO: este programa deverá fazer esse cálculo sem utilizar a função Math. pow(), ou seja, deverá ser utilizado apenas o operador de multiplicação ou soma para elaborar este algoritmo. Por isso, é necessário o uso de estruturas de repetição.Lembre como funciona a potenciação a partir dos dois exemplos abaixo:
25 = 2 * 2 * 2 * 2 * 2 = 32
34 = 3 * 3 * 3 * 3 = 81
1 Resposta
Clique aqui para adicionar a sua resposta.
ivansouza63
Explicação:*
* SOLUCAO ERRADA tipica.
*/
#include
int main() {
int x, /* base */
n, /* expoente */
i; /* numero de multiplicoes feitas */
/* Inicializacoes */
printf(" Calculo de potencias ");
printf("Digite a base (inteiro): ");
scanf("%d", &x);
printf("Digite o expoente (inteiro nao-negativo): ");
scanf("%d", &n);
i = 0;
/* Calculo da potencia */
while (i < n) {
x = x * x;
i = i + 1;
}
printf(" O valor de %d elevado a %d= %d ", x, n, x);
return 0;
}
/*
* SOLUCAO CERTA.
*/
#include
int main() {
int x, /* base */
n, /* expoente */
potencia, /* guarda as potencias parciais */
contador;
printf(" Calculo de potencias ");
printf(" Digite um numero inteiro: ");
scanf("%d", &x);
printf("Digite um numero um inteiro nao-negativo: ");
scanf("%d", &n);
/* Inicializacoes */
potencia = 1;
contador = 0;
/* Calculo da potencia */
while (contador != n) {
potencia = potencia * x;
contador = contador + 1;
}
printf(" O valor de %d elevado a %d: %d ", x, n, potencia);
return 0;
}