รู้เบื้องต้นเกี่ยวกับตัวตนของBézout
GCD ของจำนวนเต็มสองจำนวน A, B เป็นจำนวนเต็มบวกที่ใหญ่ที่สุดซึ่งแบ่งออกเป็นสองส่วนโดยไม่มีเศษเหลือ ตอนนี้เพราะคุณสมบัติของ Euclid ที่แต่ละจำนวนเต็ม N สามารถหารด้วยจำนวนเต็ม M อื่นได้ดังนี้
มีอยู่คู่ u, v เช่นที่เราสามารถเขียน:
เนื่องจากมีจำนวนคู่เหล่านั้นไม่ จำกัด เราจึงต้องการหาคนพิเศษ ในความเป็นจริงมีอย่างแน่นอน (A, B ไม่เป็นศูนย์) สองคู่ดังกล่าวที่อิ่ม
ท้าทาย
เป้าหมายของความท้าทายนี้คือการหาคู่ของค่าสัมประสิทธิ์ (u, v) ที่อิ่มตัวข้อ จำกัด ข้างต้นและที่คุณจะต้องเป็นบวก สิ่งนี้จะแคบเอาท์พุทเป็นคู่ที่ไม่ซ้ำกัน
อินพุต
เราอาจสมมติว่าอินพุตเป็นค่าบวก A จะใหญ่กว่า B เสมอ (A> B)
เอาท์พุต
ผลลัพธ์ของโปรแกรม / ฟังก์ชั่นของเราจะต้องเป็นคู่ (สั่ง) ที่ระบุในการท้าทาย
กฎระเบียบ
เราต้องไม่ใช้อัลกอริธึมแบบขยายแบบยุคลิดในตัว (เช่นใน Mathematica แบบหนึ่งได้รับอนุญาตให้ใช้GCDแต่ไม่ใช่ExtendedGCD- ซึ่งจะล้มเหลวสำหรับ 5,3 anyways)
คำตอบอาจเป็นโปรแกรมเต็มรูปแบบ (รับอินพุตผ่าน STDIN หรือคล้ายกันและส่งออกผ่าน STDOUT) หรือฟังก์ชั่น (คืนทั้งคู่)
ข้างคู่ (u, v) จะไม่มีเอาต์พุตใด ๆ อนุญาตให้ขึ้นบรรทัดใหม่หรือเว้นวรรคได้ (วงเล็บหรือเครื่องหมายจุลภาคไม่เป็นไร)
นี่คือรหัสกอล์ฟห้ามช่องโหว่มาตรฐานทั้งหมดและโปรแกรมที่มีจำนวนไบต์ต่ำสุดชนะ
ตัวอย่าง
(A, B) -> (u, v)
(42, 12) -> (1, -3)
(4096, 84) -> (4, -195)
(5, 3) -> (2, -3)
(1155, 405) -> (20, -57)
(37377, 5204) -> (4365, -31351)
(7792, 7743) -> (7585, -7633)
(38884, 2737) -> (1707, -24251)
(6839, 746) -> (561, -5143)
(41908, 7228) -> (1104, -6401)
(27998, 6461) -> (3, -13)
(23780, 177) -> (20, -2687)
(11235813, 112358) -> (8643, -864301)



