재귀함수-거듭제곱

김남경·2022년 12월 23일
0

catch errors

목록 보기
10/16
const x = function(base, top){
	if(top === 0) return 1;//탈출 조건
  	
  	let divider = 94906249;//문제에서 주어진 숫자
  	
  	//짝수 top : top = (top/2) * (top/2)
    let even = x(base, Math.floor(top/2));
  	let cal = even * even % divider;
  
    //홀수 top : top = (top-1) * 1;
  	//(top-1) 이 짝수
    //홀수 top : top = 짝수 top * 1;
 
  	return top%2 ? base * cal % divider : cal;
}

참고

숫자의 거듭제곱 계산하기

profile
기본에 충실하며 앞으로 발전하는

0개의 댓글