rlaalswo01   6년 전

처음에 무식하게 풀었다가 당연히 시간 초과를 받았구요~

질문 게시판을 들여다보면서 거듭제곱알고리즘을 푸는 테크닉이 있다는 것을 알았습니다 (재귀)

하지만 그 이전에 제 나름대로 고민하다가, 종이에 끄적여가며 거듭제곱에 대한 나머지가 반복 순환한다는 (그런 것 같다는...!)

제 나름의 결론을 얻고, 그 가설을 토대로 코드를 짜봤습니다. 그리고 몇 가지 예로 테스트를 해보니 결과가 잘 나오네요.

하지만 백준에 제출했더니, 이번엔 메모리 초과를 얻네요.

당연히 제가 생각하기엔 싸이클이 길어봐야 얼마나 길겠어, 라고 생각한 것과 달리 싸이클이 매우 길거나 없는 테스트 케이스가

있어서 벡터에서 메모리 초과가 난 것인데, 그 반례가 궁금해서 개인적인 탐구심에 글 올려봅니다~ 

djm03178   6년 전

2147483644 2147483647 2147483647 를 넣었더니 약 5초 후에 런타임 에러가 났습니다.

rlaalswo01   6년 전

사이클이 엄청 길거나, 사이클이 뒤에서부터 발생하거나 하는 가능성이 있을 것 같은데 더 연구해봐야겠네요. 감사합니다!

junie   6년 전

거듭제곱에 대한 나머지의 사이클의 길이는 c가 소수일 때에는 c-1이 되어서 너무 길기 때문에 그런 것 같아요.

자세한 내용은 구글에 오일러 파이 함수를 검색해 보면 될 것 같아요

댓글을 작성하려면 로그인해야 합니다.