알고리즘
C++ 재귀 함수 ( 거듭제곱 )
Chars4785
2019. 1. 10. 18:06
재귀 함수 3가지 단계
1. 함수의 역할을 말로 정확하게 정의 한다
ex) 넣으면 뭐가 나온다
2. 기저 조건 ( Base Condition ) 에서 함수가 제대로 동작 함을 안다.
ex) 0! = 1
3.함수가 ( 작은 input 에 대해서 ) 제대로 동작한다고 가정하고 함수을 완성 한다.
ex) 4! = 4* 3!
가정 : 3! 가 3! 값을 반환 하기 때문에 4!를 구할 수 있다.
int getPower(int n,int m){
//n^m 을 반환하는 함수
if(m ==0 )
return 1;
else
return getPower(n,m-1) *n;
}
int main()
{
int n,m;
cin >>n>>m;
cout<< getPower(n,m);
return 0;
}
거듭 제곱
3가지 단계를 통해서 해보기
1. getPower(n,m) = n^m 을 반환 한다.
ex) getPower(2,4) = 16
2. getPower(n,0) = 1
3. getPower (n,m) = getPower (n,m-1) * n
getPower(n,m-1) 이 값을 잘 return 하기 때문에 가능한 식이다.