Tugasnya adalah sebagai berikut. Diberikan bilangan bulat x
(sedemikian rupa sehingga x
modulo 100000000003
tidak sama dengan 0
) yang disajikan ke kode Anda dengan cara apa pun yang Anda rasa nyaman, hasilkan bilangan bulat lain y < 100000000003
sehingga (x * y) mod 100000000003 = 1
.
Kode Anda harus memakan waktu kurang dari 30 menit untuk berjalan pada mesin desktop standar untuk setiap input x
sedemikian rupa |x| < 2^40
.
Uji kasus
Input: 400000001. Output: 65991902837
Input: 4000000001. Output: 68181818185
Input: 2. Output: 50000000002
Input: 50000000002. Output: 2.
Input: 1000000. Output: 33333300001
Batasan
Anda tidak boleh menggunakan pustaka atau fungsi bawaan apa pun yang melakukan modulo aritmatika (atau operasi terbalik ini). Ini berarti Anda bahkan tidak dapat melakukannya a % b
tanpa menerapkan %
sendiri. Anda dapat menggunakan semua fungsi built-in aritmatika non-modulo lainnya.
Pertanyaan serupa
Ini mirip dengan pertanyaan ini meskipun semoga cukup berbeda untuk tetap menarik.
100000000003
? (hanya ingin tahu)