인프런 커뮤니티 질문&답변

yo04134님의 프로필 이미지
yo04134

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

1-N

ret 변수가 이해가 가지 않습니다

작성

·

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점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

yo04134님의 프로필 이미지
yo04134

작성한 질문수

질문하기