0

matlab で使用されている "gcd" 関数を別の言語で実装する方法を探していますが、それが機能する方法を本当に理解できません。

http://www.mathworks.com/access/helpdesk/help/techdoc/ref/gcd.htmlで次のように述べています。

"[G,C,D] = gcd(A,B) は、次の式を満たす最大公約数配列 G と配列 C および D の両方を返します: A(i).*C(i) + B(i) .*D(i) = G(i)"

ただし、C と D の計算方法については何も述べていません。

誰かがこの主題についてより明確な考えを持っていれば、私は感謝します! ありがとう:)

4

4 に答える 4

4

拡張ユークリッドアルゴリズム。

(これである「セクション4.5.2アルゴリズムX」はhttp://www.fitc.unc.edu.ar/javadev/math/previous/algorithms.htmlに表示されます。)

于 2010-04-10T09:21:19.903 に答える
0

拡張ユークリッドアルゴリズムのこのリンクにある基本的なスキームの1つを使用します。

于 2010-04-10T12:07:49.530 に答える
0

次のように入力して、ソースを確認してください。

edit gcd

これにより、エディターで関数が開きます。次に、関数を1行ずつ確認できます。

他の2つの投稿の参照と一緒に、これはあなたに答えを得るはずです。

于 2010-04-10T09:25:30.940 に答える
0

Matlab のドキュメントでは、

クヌース、ドナルド、コンピュータープログラミングの芸術、Vol。2、Addison-Wesley: Reading MA、1973 年。セクション 4.5.2、アルゴリズム X。

私はあなたのためにそれを言い換える勇気を持っていませんが、それはすべてそこにあります.

于 2010-04-10T08:59:08.233 に答える