ภารกิจมีดังต่อไปนี้ ได้รับจำนวนเต็ม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
? (เพียงแค่สงสัย)