Завдання наступне. З огляду на ціле число 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
? (просто цікаво)