Задача заключается в следующем. Дано целое число x
(например , что по x
модулю 100000000003
не равно 0
) представлены коду в любом случае вы найдете удобными, выходное другое целое число , y < 100000000003
так что (x * y) mod 100000000003 = 1
.
Ваш код должен занять менее 30 минут для запуска на стандартном настольном компьютере для любого ввода, x
такого как |x| < 2^40
.
Контрольные примеры
Вход: 400000001. Выход: 65991902837
Ввод: 4000000001. Выход: 68181818185
Вход: 2. Выход: 50000000002
Вход: 50000000002. Выход: 2.
Вход: 1000000. Выход: 33333300001
ограничения
Вы не можете использовать какие-либо библиотеки или встроенные функции, выполняющие арифметику по модулю (или эту обратную операцию). Это означает, что вы даже не можете обойтись a % b
без реализации %
себя. Однако вы можете использовать все другие встроенные функции без модуля арифметики.
Подобный вопрос
Это похоже на этот вопрос, хотя, надеюсь, достаточно отличается, чтобы все еще представлять интерес.
100000000003
? (просто интересно)