[BOJ 14565] 역원(Inverse) 구하기

View as PDF

Submit solution

Points: 3
Time limit: 1.0s
Memory limit: 128M

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

집합 Zn을 0부터 n-1까지의 정수 집합이라고 하자. Zn ∋ a, b, c 일 때, (a+b) mod n = 0이면 b는 a의 덧셈역이라고 하고 (a*c) mod n = 1이면 c는 a의 곱셈역이라고 한다.</p>

정수 N, A가 주어졌을 때 Zn에서의 A의 덧셈역과 곱셈역을 구하시오.

단, 곱셈역을 구할 수 없으면 -1을 출력한다.

입력 형식

첫 번째 줄에 N(2 ≤ N ≤ 1012)과 A(1 ≤ A < N)이 주어진다.

출력 형식

첫 번째 줄에 A의 N에 대한 덧셈역과 곱셈역을 한 줄에 공백으로 구분하여 출력한다.

예제 입력 1

26 11

예제 출력 1

15 19

예제 입력 2

100 20

예제 출력 2

80 -1

예제 입력 3

32760247633 22801763489

예제 출력 3

9958484144 12390598440

힌트

  • 덧셈역 (11 + 15) mod 26 = 0
  • 곱셈역 (11 * 19) mod 26 = 1

Comments

There are no comments at the moment.