Utilizar um Loop ou a Função pow()
Neste passo, aprenderá dois métodos para calcular potências em C: utilizando um loop manual e utilizando a função incorporada pow() da biblioteca matemática.
Primeiro, vamos modificar o ficheiro anterior power_calculation.c para implementar o cálculo de potências:
cd ~/project
nano power_calculation.c
Método 1: Utilizando um Loop
#include <stdio.h>
int calculate_power_loop(int base, int exponent) {
int result = 1;
for (int i = 0; i < exponent; i++) {
result *= base;
}
return result;
}
int main() {
int base, exponent;
printf("Introduza o número base: ");
scanf("%d", &base);
printf("Introduza o expoente: ");
scanf("%d", &exponent);
int power_result = calculate_power_loop(base, exponent);
printf("%d elevado à potência de %d é: %d\n", base, exponent, power_result);
return 0;
}
Método 2: Utilizando a Função pow()
#include <stdio.h>
#include <math.h>
int main() {
int base, exponent;
printf("Introduza o número base: ");
scanf("%d", &base);
printf("Introduza o expoente: ");
scanf("%d", &exponent);
// Nota: pow() retorna um double, por isso fazemos a conversão para int
int power_result = (int)pow(base, exponent);
printf("%d elevado à potência de %d é: %d\n", base, exponent, power_result);
return 0;
}
Compile o programa com a biblioteca matemática:
gcc power_calculation.c -o power_calculation -lm
Exemplo de saída:
Introduza o número base: 2
Introduza o expoente: 3
2 elevado à potência de 3 é: 8
Explicação do código:
- O método de loop multiplica manualmente a base por si mesma
exponent vezes.
- A função
pow() da biblioteca math.h fornece um cálculo de potência incorporado.
- O sinal
-lm é necessário para ligar a biblioteca matemática durante a compilação.
- Convertemos o resultado de
pow() para int para corresponder ao nosso cálculo inteiro.