• ベストアンサー

Mapleにて

ユークリッドの互除法とwhile文を用いて,2つの自然数の最大公約数を与える手続きをMapleで書きたいのです. 式をひとつで済ませたいのですが・・・。(2つで書くことはできてます)

質問者が選んだベストアンサー

  • ベストアンサー
  • inara
  • ベストアンサー率72% (293/404)
回答No.1

Mapleには最大公約数を求める関数 gcd(a,b) がありますが、それを使わないで proc で書くという意味ですか?

iku-aizawa
質問者

補足

いえ、一応GODを使います

その他の回答 (1)

  • inara
  • ベストアンサー率72% (293/404)
回答No.2

gcd 関数を使って、2つで書くことができている手続きとはどういうものでしょうか。

iku-aizawa
質問者

補足

GCD := proc (d, e) local a, b, r; a := d; b := e; while 0 < irem(a, b) do r := irem(a, b); a := b; b := r end do; b; end proc です。こうすると、 GCD := proc (d, e) local a, b, r; a := d; b := e; while 0 < irem(a, b) do  r := irem(a, b);  a := b;  b := r end do; b end proc と、なり、式が完成しました。

関連するQ&A

  • ユークリッド互除法の意義

    2つの数の最大公約数の求め方の1つとしてユークリッド互除法を学習しました。 しかし、最大公約数の求め方は素因数分解でも求められます。 共通に割り切れるもので割っていけばよいので、わざわざユークリッド互除法を使わなくてもいいのでは?と思うのですが、ユークリッド互除法を使うことのよさってあるのですか? 回答よろしくお願いいたします。

  • ユークリッドの互除法について

     ユークリッドの互除法を使って最大公約数、整数解を求められると聞いたのですが、イマイチ要領がつかめません。    もしよろしければ、どなたかユークリッドの互除法での最大公約数、整数解の求め方を教えてください。

  • ユークリッド互除法

    29441と32934の最大公約数をユークリッド互除法で求めて答えが1とでました。さらに最小公倍数を求めろとあるのですが、ユークリッド法でどうやって最小公約数を求めるのですか?

  • 逆元の計算方法

    逆元を計算するのにユークリッドの互除法というのでできると聞きました。 でも、ユークリッドの互除法っていうのは最大公約数を求めるのに使うのですよね?どうやって逆元を求めるんですか?たとえば、13を法としたとき5の逆元はどうやって求めるのですか?

  • ユークリッドの互除法について

    13を9で割ると 1.444…の循環小数で表せますが, このわり算の筆算ができる理由をユークリッドの互除法で説明したいと考えています。 ユークリッドの互除法について いくつかの文献を読みましたが どれも 最大公約数を求める方法として紹介されています。 筆算ができる理由としてユークリッドの互除法をどのように使えばよいか ご回答の程よろしくお願いします。

  • 最大公約数

    素因数分解を使わない最大公約数の求め方で、二つはユークリッドの互除法を利用するというのはわかったのですが、3つはどのようにして求めればいいと思いますか?

  • 最大公約数について

    ユークリッドの互除法について勉強していて 途中で疑問に思ったことがあるのですが 例えば 288と108という数について 288と108の最大公倍数は36 288÷108=2余り72 ここから 108と72を取り出して この二つの数の最大公倍数も36 108÷72=1余り36 ここから72と36を取り出して、 この二つの数の最大公倍数も36 となりますが、なぜ割る数と余りの最大公倍数が、初めの数の最大公約数とずっと同じであり続けるのでしょうか? ユークリッドの互除法自体はある程度理解できています。 ユークリッドの互除法は、この数の動きを利用して最大公約数を求めていくようですが、なぜこのようなことになるのかが知りたいです。 難しい内容では理解できないので、できれば中学生レベルでも理解できるように説明してもらえればありがたいです。

  • プログラミングの問題です。

    プログラミングの問題です。 二つの自然数の最大公約数(つまり二つの整数を割りる最大の数)を 求める「ユークリッドの互除法」のアルゴリズムを 箇条書きで表現せよ。ただし、PADおよびプログラミングに書き直せるように 適当な変数を用いること。と言われました。 私はどうしていいかわかりません。どなたか解答してくれませんか。 よろしくお願いします。アドバイスとか何でもいいのでよろしくお願いします。

  • 不定方程式

    9b+49c=400 方程式の解法で質問があります。 【解】 9と49からユークリッド互除法で最大公約数1を作ると 49-9*5=4 9-4*2=1 9-(49-9*5)*2=9*11-49*2=1・・・・(1) ここからは自由に400に寄せれますが、例えば 9*44+49*0=396・・・・(2) (1)*4は 9*44-49*8=4・・・・(3) (2)+(3)で 9*88-49*8=400 9*(88-49)-49*(8-9)=9*39+49=400 b=39,c=1 (1)の式から、“自由に400に寄せられる”とありますが、 (2)の式はどうやって作ったのですか? よろしくお願いします。

  • 2^91-1と2^65-1の最大公約数

    2^91-1と2^65-1の最大公約数を求めるにはどうすればいいのですか? これほど大きな値だと共通の素数で割ることもユークリッドの互除法も使えそうにありません。 ちなみにコンピュータに解いてもらったら GCD(2^91-1,2^65-1)=8191 でした。