거듭제곱과 제곱근
pow, sqrt 등의 함수를 사용해 보세요.
거듭제곱과 제곱근은(는) CoddyKit의 무료 C Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 C Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. C Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
거듭제곱과 근
math.h에서 가장 유용한 두 도구는 숫자를 거듭제곱하는 pow와 제곱근을 구하는 sqrt입니다.
두 함수 모두 double 값으로 동작하며 double 결과를 반환합니다.
pow 함수
pow(base, exponent)는 base를 exponent만큼 거듭제곱한 값을 계산합니다.
예를 들어 pow(2, 3)은 2 x 2 x 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(Not a Number)이라는 특수한 값이 반환됩니다. 입력이 0 이상인지 항상 확인해야 합니다.
#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 AI 튜터), CoddyKit PRO로 업그레이드하면 C Academy 강의 전체를 잠금 해제할 수 있습니다. C Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“거듭제곱과 제곱근”에서 뭘 배우나요?
pow, sqrt 등의 함수를 사용해 보세요. 브라우저에서 직접 실행하는 실습 코드로 C Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
C Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 C Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.
“거듭제곱과 제곱근” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 C Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 C Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- math.h 포함하기
- 거듭제곱과 제곱근
- 삼각 함수와 로그
- 반올림과 절댓값