2019-01-26「拡張ユークリッドの互除法」の実装アルゴリズム長いこと「拡張ユークリッドの互除法」の実装を飲み込めていないため、いい加減理解しようと思い立ってパパっと書きました。内容はあくまで実装がメインなので、理論的な話はけんちょんさんの記事を読むのが一番確実かと思います。本記事は「自分にとっての分かりやすさ」を最優先に書いているので、普段より分かりにくい記事になっていると思われます。対して、なるを両方とも求めるアルゴリズムを指す。Divisor)」である。1つ目は「ユークリッドの互除法」そのものである。求め方もユークリッドの互除法とほとんど同じとなる。これは解が1つ求まればそこから一般解を求めるのはそこまで大変ではない競プロでは1つ求まれば十分なケースが多いといった都合上、機能としては十分である。「拡張」ユークリッドの互除法なので、このアルゴリズムを実装するにはまず「ユークリッドの互除法」を十分に理解する必要がある。多くの場合、ユークリッドの互除法はという性質を利用して、再帰関数で実装される。C++で実装すると以下の通り。}}拡張ユークリッドの互除法の実装それではメインの「拡張ユークリッドの互除法」の実装について考える。gcd)が一般的なので、ここでもその名前で呼ぶことにする。やって返すのかと言うと、「参照渡し」によって内部で書き換えられることで実現される。型だけ見るとこうなる。y);これについては「こうすると実装しやすい」という程度に考えておけばいいと思われる。