거듭제곱 함수 만들기
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을 계산할 수 있음.
'C C++ > C C++ 유용한 알고리즘 기법' 카테고리의 다른 글
[C/C++] 정수 자릿수 뒤집기 (0) | 2022.07.17 |
---|---|
[C/C++] 정수 자릿수의 합 구하기 (0) | 2022.07.17 |
[C/C++] 정수 자릿수 세기 (0) | 2022.07.16 |
[C/C++] 소문자-대문자 변환, 대문자-소문자 변환 (0) | 2022.07.10 |
[C/C++] 입력 받은 숫자 특정 자릿수 접근하기 (0) | 2022.07.09 |
댓글