Использование Цикла или Функции pow()
В этом шаге вы изучите два метода вычисления степеней в C: с помощью цикла и с использованием встроенной функции pow() из библиотеки math.
Сначала изменим предыдущий файл power_calculation.c, чтобы реализовать вычисление степени:
cd ~/project
nano power_calculation.c
Метод 1: Использование Цикла
#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("Enter the base number: ");
scanf("%d", &base);
printf("Enter the exponent: ");
scanf("%d", &exponent);
int power_result = calculate_power_loop(base, exponent);
printf("%d raised to the power of %d is: %d\n", base, exponent, power_result);
return 0;
}
Метод 2: Использование Функции pow()
#include <stdio.h>
#include <math.h>
int main() {
int base, exponent;
printf("Enter the base number: ");
scanf("%d", &base);
printf("Enter the exponent: ");
scanf("%d", &exponent);
// Примечание: pow() возвращает double, поэтому мы приводим к int
int power_result = (int)pow(base, exponent);
printf("%d raised to the power of %d is: %d\n", base, exponent, power_result);
return 0;
}
Скомпилируйте программу с библиотекой math:
gcc power_calculation.c -o power_calculation -lm
Пример вывода:
Enter the base number: 2
Enter the exponent: 3
2 raised to the power of 3 is: 8
Описание кода:
- Метод цикла вручную умножает основание на себя
exponent раз
- Функция
pow() из math.h предоставляет встроенное вычисление степени
- Флаг
-lm необходим для линковки математической библиотеки при компиляции
- Мы приводим результат
pow() к типу int, чтобы соответствовать нашему целочисленному вычислению.