Степени и корни
Используйте pow, sqrt и другие функции.
«Степени и корни» — бесплатный урок C Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения C Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс C Academy содержит 4 уроков всего.
Степени и корни
Два наиболее полезных инструмента в math.h — это pow для возведения числа в степень и sqrt для вычисления квадратного корня.
Обе функции работают со значениями double и возвращают результат типа double.
Функция pow
pow(base, exponent) вычисляет значение base, возведённое в степень exponent.
Например, pow(2, 3) означает 2 × 2 × 2, то есть 8.
#include <stdio.h>
#include <math.h>
int main(void) {
double result = pow(2.0, 3.0);
printf("2^3 = %.0f\n", result);
return 0;
}Возведение в квадрат с помощью pow
Чтобы возвести число в квадрат, возведите его в степень 2.
Здесь мы вычисляем площадь квадратной комнаты, возводя длину её стороны в квадрат.
#include <stdio.h>
#include <math.h>
int main(void) {
double side = 5.0;
double area = pow(side, 2.0);
printf("area = %.0f\n", area);
return 0;
}Дробные показатели степени
pow также принимает дробные показатели степени. Возведение в степень 0.5 равносильно извлечению квадратного корня.
Поэтому pow(9.0, 0.5) равно 3.0.
#include <stdio.h>
#include <math.h>
int main(void) {
double r = pow(9.0, 0.5);
printf("9^0.5 = %.1f\n", r);
return 0;
}Функция sqrt
sqrt(x) возвращает квадратный корень из x: число, которое при умножении само на себя даёт x.
Если Вам нужен именно квадратный корень, это понятнее и быстрее, чем использовать pow(x, 0.5).
#include <stdio.h>
#include <math.h>
int main(void) {
double r = sqrt(144.0);
printf("sqrt(144) = %.0f\n", r);
return 0;
}Отрицательные входные значения для sqrt
Квадратный корень из отрицательного числа не является действительным числом.
Вызов sqrt(-1.0) возвращает специальное значение под названием NaN (не число). Всегда проверяйте, что входное значение равно нулю или положительно.
#include <stdio.h>
#include <math.h>
int main(void) {
double r = sqrt(-4.0);
printf("result = %f\n", r);
return 0;
}Кубические корни с помощью cbrt
Для извлечения кубического корня в math.h есть функция cbrt.
В отличие от sqrt, cbrt корректно работает с отрицательными числами, поскольку у каждого действительного числа есть действительный кубический корень.
#include <stdio.h>
#include <math.h>
int main(void) {
printf("%.0f\n", cbrt(27.0));
printf("%.0f\n", cbrt(-8.0));
return 0;
}Теорема Пифагора
Степени и корни отлично сочетаются в геометрии. Длина самой длинной стороны прямоугольного треугольника равна квадратному корню из суммы квадратов двух других сторон.
Здесь мы вычисляем гипотенузу треугольника со сторонами 3, 4 и 5.
#include <stdio.h>
#include <math.h>
int main(void) {
double a = 3.0, b = 4.0;
double c = sqrt(pow(a, 2.0) + pow(b, 2.0));
printf("hypotenuse = %.1f\n", c);
return 0;
}Вспомогательная функция hypot
Последний шаблон встречается так часто, что в math.h есть hypot(a, b), непосредственно возвращающая длину гипотенузы.
Для очень больших или очень маленьких чисел она точнее, чем вычисление квадратов и корня вручную.
#include <stdio.h>
#include <math.h>
int main(void) {
double c = hypot(3.0, 4.0);
printf("hypot = %.1f\n", c);
return 0;
}Выбор подходящего инструмента
Краткое руководство:
- Квадратный корень: используйте
sqrt - Кубический корень: используйте
cbrt - Любая степень: используйте
pow - Гипотенуза: используйте
hypot
Если существует специальная функция, выбирайте её. Так код понятнее и часто точнее.
Практическая программа
Эта программа возводит число в степень, а затем извлекает из результата квадратный корень, показывая, как функции можно объединять в цепочку.
#include <stdio.h>
#include <math.h>
int main(void) {
double p = pow(10.0, 4.0);
double r = sqrt(p);
printf("%.0f -> %.0f\n", p, r);
return 0;
}Быстрая проверка
Подумайте, что возвращает каждая функция.
Повторение
Вы научились возводить числа в степень с помощью pow, находить квадратные корни с помощью sqrt, кубические корни с помощью cbrt и гипотенузы с помощью hypot.
Помните, что sqrt для отрицательного числа возвращает NaN. Далее мы рассмотрим тригонометрию и логарифмы.
Часто задаваемые вопросы
Урок «Степени и корни» бесплатный?
Да — полный текст урока «Степени и корни» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс C Academy, подпишись на CoddyKit PRO. Курс C Academy содержит 4 уроков всего.
Чему я научусь в уроке «Степени и корни»?
Используйте pow, sqrt и другие функции. Ты практикуешь C Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать C Academy?
Предыдущий опыт не требуется. C Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Степени и корни»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке C Academy?
Да. Каждый урок C Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.