본문 바로가기
C C++/C C++ 유용한 알고리즘 기법

[C/C++] 거듭제곱 함수 만들기

by Go! Jake 2022. 7. 16.

거듭제곱 함수 만들기

C/C++ 거듭제곱 함수 만드는 방법에 대해 알아 볼 것임. 우선 C/C++에서는 pow라는 함수를 통해 거듭 제곱을 사용할 수 있는 함수를 제공하고 있음.

그런데 왜 만들어서 쓰냐고? 그건 pow 함수 반환형이 float, double, long double이고, 인자도 각각 float, double, long double이어야 하기 때문임. 물론 형변환해서 int 정수형으로 쓸 수 있을 텐데, 문제 풀 때 형변환하면서 풀기는 찝찝해서 만들어 쓰는 것임. 나중에 좀 적응하면 pow를 쓸 지도.

제일 간단한 방법은 아래 방법인 듯.

#include <iostream>
 
int square(int a, int b)
{
	int res=1;
	for (int i=0; i<b; i++)
	{
		res=res*a;
	}
	
	return res;
}

인자로 밑인 a를 받고, 제곱수인 b를 받는 것임. 그리고 res라는 결과 값.res 결과 값에 a를 b번 곱하는 것이 됨. 따라서 square(10,3)인 경우 10^3이 되는 것임.

 

예를 들어 3*10^3을 만들고 싶다고 하면, 3*square(10,3)으로 처리하면 3*10^3을 계산할 수 있음.

댓글