Предмет: Информатика,
автор: makedona999
СРОЧНО! ПИТОН! ОТДАЮ ВСЕ БАЛЛЫ!
Обратное число
В этой задаче нужно ответить на 1≤≤105
1
≤
t
≤
10
5
запросов. Каждый запрос состоит из двух целых чисел 2≤≤109
2
≤
p
≤
10
9
и 0<<
0
<
a
<
p
, число
p
является простым. На каждый запрос нужно вывести в отдельной строке целое число 0<<
0
<
b
<
p
такое, что (⋅−1) ⋮
(
a
⋅
b
−
1
)
⋮
p
.
Входные данные
В первой строке дано целое число
t
— количество запросов.
В следующих
t
строках даны по два числа
p
i
и
a
i
, =1,…,
i
=
1
,
…
,
t
.
Выходные данные
Выведите
t
целых чисел (каждое число в отдельной строке) — ответы на запросы.
Примеры
Ввод
Вывод
4
5 1
5 2
5 3
5 4
1
3
2
4
Ограничения
Время выполнения: 5 секунд
Ответы
Автор ответа:
11
Ответ:
b = []
for x in range(int(input())):
a = list(map(int, input().split()))
b.append(pow(a[1], a[0] - 2, a[0]))
print('\n'.join(map(str, b)))
Объяснение:
Эта программа зашла.
Похожие вопросы
Предмет: Русский язык,
автор: nikita170701
Предмет: Английский язык,
автор: MerelSe
Предмет: Русский язык,
автор: irinakorzhu
Предмет: Физика,
автор: RASSPUTIN
Предмет: Математика,
автор: Flina16
bs = []
for i in range(t):
p, a = list(map(int, input().split()))
b = str(a ** (p - 2) % p)
bs.append(b)
print('\n'.join(bs))
я пробовал так но слишком большая вычислительная сложность. Нужно O(log2 p)