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

  • Ivansouza

    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;

    }

Clique aqui para adicionar a sua resposta.