Logo
(追記) (追記ここまで)

21864번 - 이산로그가 장난이냐?

시간 제한메모리 제한제출정답맞힌 사람정답 비율
10 초 512 MB79543579.545%

문제

BOJ에서 어떤 문제를 풀었던 Sait2000은 입력 범위를 늘려서 장난 아니고 이산로그를 구해야 하는 문제를 만들기로 했습니다.

M = 1018 + 31은 소수이고, g = 42는 M의 원시근입니다. 즉, g1 mod M, g2 mod M ... gM - 1 mod M은 각각 서로 다른 [1; M) 범위의 정수입니다. f(x)를 gp mod M = x를 만족하는 최소의 양의 정수 p로 정의합니다. 그러면 f는 [1; M)에서 [1; M)으로 가는 전단사함수(일대일 대응)입니다.

수열 {an}을 다음과 같이 정의합니다.

  • a0 = 960002411612632915
  • ai + 1 = f(ai)

n이 주어졌을 때, an을 찾아봅시다.

입력

첫번째 줄에 정수 n이 주어집니다. (0 ≤ n ≤ 2 × 106)

출력

an을 출력합니다.

제한

예제 입력 1

0

예제 출력 1

960002411612632915

예제 입력 2

1

예제 출력 2

836174947389522544

예제 입력 3

300300

예제 출력 3

263358264583736303

예제 입력 4

1000000

예제 출력 4

300

예제 입력 5

1000001

예제 출력 5

60615953435770536

힌트

출처

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /