작성
·
724
0
안녕하세요 선생님!
go 함수에서
ret=(ret*ret)%c; 인데
예를 들어 go(2,4)->go(2,2)->go(2,1) 이라면
go(2,1)은 2%c를 반환하여 ret=go(2,1)=2%c 가 되고 다음줄의 ret=((2%c)*(2%c))%c 가 되면 % 연산이 중복되는게 아닌가 하는 의문이 듭니다.
그래서 ret=(ret*ret) 이 되어야 하는 것 같아서 돌려봤는데 TC는 통과되었는데 백준에서 틀렸다고 나와서 질문드립니다.
답변 1
0
안녕하세요 yo님ㅎㅎ
ret=(ret*ret)%c;
이 부분이 궁금하시다는 것이죠?
자, 19를 % 10을 해볼게요. c = 10, ret = 19라고 산정
9가 나오죠?
*는 좀 그렇고.
+를 해볼게요.
ret = 9가 나오며,
9 + 9 가 되네요.
근데 만약!! %10을 안한다면
10을 넘어가는!!!
18이 나오게 되겠죠?
그래서 %를 하는 것입니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.