1
resposta

Cálculo de potência para base e expoente inteiros, com expoente diferente de zero.

Não conheço o conteúdo da função pow(), mas acredito que deva ser dividida em vários "if":

  • se base e expoente são inteiros && expoente positivo && expoente diferente de zero;
  • se base é inteira e expoente double;
  • se base é double e expoente inteiro;
  • se expoente é negativo;
  • etc...

Aqui, escrevi um código que funciona apenas para base e expoentes inteiros && expoente positivo && expoente diferente de zero:

#include <stdio.h>

void calculaPotencia(int base, int expoente) { int potencia = base; for (int i = 1; i<=(expoente-1); i++) { potencia *= base; } printf("%d\n", potencia);}

int main(){ calculaPotencia(-2, 6); return 0; }

1 resposta

Olá, Anderson!

Entendi que você está com dúvidas sobre como calcular a potência entre dois números inteiros, com o expoente diferente de zero. A função pow() é uma função da biblioteca math.h que pode ser utilizada para calcular a potência em C, porém, ela retorna um valor do tipo double. Se você deseja calcular a potência apenas com números inteiros, é necessário implementar sua própria função.

No código que você escreveu, você está calculando a potência corretamente para base e expoente inteiros, positivos e diferentes de zero. Porém, é importante lembrar que a função pow() também pode ser utilizada para calcular potências com expoentes negativos e com base e/ou expoente do tipo double.

Se você deseja implementar uma função que calcule a potência apenas para números inteiros, você pode utilizar um loop for para multiplicar a base pelo número de vezes indicado pelo expoente. Por exemplo:

void calculaPotencia(int base, int expoente) {
    int potencia = 1;
    for (int i = 0; i < expoente; i++) {
        potencia *= base;
    }
    printf("%d\n", potencia);
}

int main() {
    calculaPotencia(-2, 6);
    return 0;
}

Nesse exemplo, a função calculaPotencia() recebe a base e o expoente como parâmetros e utiliza um loop for para multiplicar a base pelo número de vezes indicado pelo expoente. O resultado é armazenado na variável potencia e, em seguida, é impresso na tela.

Espero ter ajudado e bons estudos!