1. num=0 이 들어오는 경우 무한 반복됩니다.
2. 리턴할 때 중복 호출이 발생합니다. 변수를 하나 잡아 값을 저장해놓고 계산하시면 됩니다.
=> int k= f(b,num/2); return k*k%p;
1. num=0 이 들어오는 경우 무한 반복됩니다.
2. 리턴할 때 중복 호출이 발생합니다. 변수를 하나 잡아 값을 저장해놓고 계산하시면 됩니다.
=> int k= f(b,num/2); return k*k%p;
댓글을 작성하려면 로그인해야 합니다.
p_ce1052 8달 전
b^num 제곱을 log num 만에 계산하는 알고리즘을 구현했는데 무한반복됩니다. 왜 계속 똑같은 함수를 호출하는지 모르겠습니다 값을 리턴했는데도요. 여기서 num으로 사용되는 수는 1,000,000,005 입니다.