거듭제곱 함수는 밑(base)과 지수(exponent)라는 두 개의 숫자가 주어졌을 때, 밑을 지수만큼 곱한 결과를 구하는 데 사용됩니다. 즉, 결과값은 '밑의 지수 제곱'이 됩니다.
거듭제곱의 기본 개념
다음 예시를 통해 개념을 쉽게 이해할 수 있습니다.
밑(Base) = 2 지수(Exponent) = 5 2^5 = 32 따라서, 2의 5제곱은 32입니다.
C++ 거듭제곱 함수 예제
아래는 C++로 거듭제곱을 계산하는 전체 프로그램입니다.
#include <iostream>
using namespace std;
int main() {
int x, y, ans = 1;
cout << "Enter the base value: \n";
cin >> x;
cout << "Enter the exponent value: \n";
cin >> y;
for(int i = 0; i < y; i++)
ans *= x;
cout << x << " raised to the power " << y << " is " << ans;
return 0;
}실행 결과
위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.
Enter the base value: 3 Enter the exponent value: 4 3 raised to the power 4 is 81
코드 상세 설명
이제 위 프로그램이 어떻게 동작하는지 단계별로 살펴보겠습니다.
1. 사용자 입력 받기
먼저 사용자로부터 밑과 지수 값을 입력받습니다. 해당 코드는 다음과 같습니다.
cout << "Enter the base value: \n"; cin >> x; cout << "Enter the exponent value: \n"; cin >> y;
변수 x에는 밑 값이, 변수 y에는 지수 값이 저장됩니다.
2. for 루프로 거듭제곱 계산하기
거듭제곱은 지수 값만큼 반복되는 for 루프를 통해 계산됩니다. 매 반복마다 밑 값이 변수 ans에 곱해지며, 루프가 모두 끝나면 최종 거듭제곱 결과가 ans에 저장됩니다.
for(int i = 0; i < y; i++)
ans *= x;예를 들어 밑이 3이고 지수가 4라면, ans는 1 → 3 → 9 → 27 → 81 순서로 갱신되어 최종적으로 81이 됩니다.
3. 결과 출력하기
마지막으로 계산된 거듭제곱 값을 화면에 출력합니다.
cout << x << " raised to the power " << y << " is " << ans;
마무리
이처럼 C++에서는 표준 라이브러리의 pow() 함수를 사용하지 않고도 간단한 for 루프만으로 거듭제곱을 직접 구현할 수 있습니다. 이 방식은 거듭제곱 연산의 원리를 이해하는 데 큰 도움이 되며, 알고리즘 학습에도 유용합니다. 참고로 실무에서는 음수 지수나 큰 수 처리를 위해 <cmath> 헤더의 pow() 함수를 사용하는 것이 일반적입니다.