Pengantar identitas Bézout
GCD dari dua bilangan bulat A, B adalah bilangan bulat positif terbesar yang membagi keduanya tanpa meninggalkan sisa. Sekarang karena properti Euclid bahwa setiap bilangan bulat N dapat dibagi dengan bilangan bulat M lainnya sebagai berikut:
ada pasangan u, v sehingga kita bisa menulis:
Karena ada jumlah tak terbatas dari pasangan itu, kami ingin mencari pasangan istimewa. Sebenarnya ada persis (A, B tidak menjadi nol) dua pasangan yang memuaskan
Tantangan
Tujuan dari tantangan ini adalah untuk menemukan pasangan (diperintahkan) koefisien (u, v) yang memuaskan kendala di atas dan di mana Anda harus positif. Ini mempersempit output ke pasangan unik.
Memasukkan
Kita dapat berasumsi bahwa inputnya positif, juga A akan selalu lebih besar dari B (A> B).
Keluaran
Output dari program / fungsi kami harus merupakan pasangan (dipesan) yang ditentukan dalam tantangan.
Aturan
Seseorang tidak boleh menggunakan algoritma Euclidean tambahan bawaan (misalnya dalam Mathematica, seseorang diizinkan untuk menggunakan GCD
tetapi tidak ExtendedGCD
- yang akan gagal selama 5,3).
Jawabannya mungkin program penuh (mengambil input melalui STDIN atau serupa dan output melalui STDOUT) atau fungsi (mengembalikan pasangan).
Di samping pasangan (u, v) tidak akan ada output, membuntuti baris baru atau spasi diperbolehkan. (kurung atau koma baik-baik saja)
Ini adalah kode golf, semua celah standar dilarang dan program dengan jumlah byte terendah akan menang.
Contohnya
(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)