• ベストアンサー
  • 困ってます

分数の計算のプログラミングです。

 2つの分数 U/SとV/tの足し算は、Sとtの最小公倍数を l とするとき、 u×l/S+u×l/t 分のlによっておこなわれるんですが、最小公倍数を ユークリッドの互除法で求め、分数の足し算を分数のまま実行するには どうプログラムすればよいのでしょうか?教えてください。 宜しくお願いいたします。   

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数1277
  • ありがとう数3

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

  • ベストアンサー
  • 回答No.2

まず、ユークリッドの互除法で求められるのは、最大公約数ですよね。 これは、 int Euclid(int S, int T){ int x,y,z; x=S;y=T; for(;;){ z=x%y; if(z==0){break;} x=y;y=z; } return y; } で、求まります。 最小公倍数は、 S*T/Euclid( S, T); で求まります。 あとは、 l=S*T/Euclid( S, T); ((u*l/S)+(v*l/T))/l; これで、U/S+V/Tが求められます。 部分部分細切れになっているので、つなげればできますよね。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

勉強させられます。ありがとうございました。

関連するQ&A

  • 小6程度、私は大人、分数の通分の足し算で

    既約分数同士を足す場合、分母の最小公倍数で通分をして得た和が約分できる場合は少ないと思う。例として、1/3+1/6=3/6=1/2 です。この他に分母が10以下の分数の足し算での例を求めます。

  • いくつかの分数を整数にする最小の分数

    (数学ではなく算数に関する質問で恐縮です) いくつかの分数を整数にする最小の分数の公式として以下の公式があります。 【分母の最小公倍数/分子の最大公約数】 例えば8/15と12/25なら、 15と25の最小公倍数=75 8と12の最大公約数=4 8/15×75/4=10 12/25×75/4=9 ・・・と、ともに整数になります。 テクニックとして丸暗記してしまえばそれなりに使うことができますが、子供から「何でこういう公式が成り立つの?」と聞かれ、答えることができませんでした。 小額4年生にわかる様な説明をご教示いただければ幸いに存じます。

  • 最小公倍数の出し方

    先ほど分数の方程式 X/60+X/50=33で最小公倍数300を使用し回答されていましたが、 この最小公倍数の出し方も教えて下さい。 詳細にお願い致します。

その他の回答 (1)

  • 回答No.1
  • Hk2001
  • ベストアンサー率48% (24/49)

ユークリッドの互除法って最大公約数を求める理論ですよね? 何回も最大公約数を求めるのは面倒なので 足し算自体は 簡単に (分子1 * 分母2) + (分子2 * 分母1)で 分子 分母1 * 分母2 で 分母 を計算して 求めた分子と分母を最大公約数を使い約分しました。 なお参考ソースは 数値チェックや0除算などのチェックを行っていません。 コマンドボタンとテキストボックスを使用しました。 参考ソース ↓↓↓↓↓↓↓↓↓↓↓↓↓ Private Sub Command1_Click() Dim la As Long Dim lb As Long Dim lm As Long Dim ln As Long Dim li As Long Dim ltxtU1 As Long '分子入力1 Dim ltxtD1 As Long '分母入力1 Dim ltxtU2 As Long '分子入力1 Dim ltxtD2 As Long '分母入力1 Dim ltxtU3 As Long '分子答え Dim ltxtD3 As Long '分母答え ltxtU1 = Text1(0).Text ltxtD1 = Text1(1).Text ltxtU2 = Text1(2).Text ltxtD2 = Text1(3).Text la = (ltxtU1 * ltxtD2) + (ltxtU2 * ltxtD1) '分子 lb = (ltxtD1 * ltxtD2) '分母 lm = la ln = lb Do Until lm Mod ln = 0 li = lm Mod ln lm = ln ln = li Loop '最大公約数 = ln ltxtU3 = la / ln ltxtD3 = lb / ln Text1(4).Text = ltxtU3 Text1(5).Text = ltxtD3 End Sub

共感・感謝の気持ちを伝えよう!

質問者からのお礼

これをもとに勉強したいと思います。ありがとうございました。

関連するQ&A

  • 数IIの最初の方のことなんですが・・・

    分数があって、それを通分するのですが、 よく意味が分かりません。 「2つの分母を因数分解して、 最小公倍数を求めて 分母が最小公倍数になるように 分子と分母に同じ正式をかけます。」 と説明があったので、とりあえず 因数分解してみるものの、最小公倍数に なるように?が分かりません。 問題は分母が因数分解できる形になっていて 分子はxでした。

  • 一次方程式 分数です。

    9-x    3 ――=――X-1   2    5 最小公倍数10をかけて  5(9-X)=6X-10 45-5X=6X-10 -5X-6X=-10-45 -11=-55   X=5 これで合っていますでしょうか。

  • 最小公倍数の計算

    最小公倍数の計算 (a-b)(a-c),(b-a)(b-c),(c-a)(c-b)の最小公倍数を求める問題です (a-b)(a-c)= -(a-b)(c-a) (b-a)(b-c)= -(a-b)(b-c) (a-c)(b-c)= -(c-a)(b-c) と変形させて (a-b)^3(b-c)^3(c-a)^3 が答えになりますが、答えにマイナスがなぜつかないんですか? お願いします。

  • 整式

    和が1092で、最小公倍数が3528である2つの自然数を求めよ。 2つの自然数をa、bとおいて a+b=1092 とおくことはできるのですが、この最小公倍数となる場合 abの式ではどのように表して答えを導いていけばいいのかわかりません。 分かる方教えてください。お願いします。

  • 最小公倍数最大公約数

    WindowsN88BASICのプログラムについてしつもです。 自然数a、b、cをインプットしa、b、cの最小公倍数と最小公倍数を出力するBASICプログラムを作りたいのですが、教えていただけますか? cプログラムでは同じ事をできたのですが、最近BASICを始めたので考え方等と共に解説お願いします。

  • [][>方程式の解き方

    (x+120)/32×2=(x+150)/17 この方程式が解けません(;´・Д・`) 分数の方程式を解くときは、最小公倍数をかけて分母をはらうから、 一生懸命16と17の最小公倍数を探したのですが見つからずε-(xc_x`;) 解答には、 原式, ★17(x+120)=16(x+150), 17x-16x=2400-2040, x=360 とあるのですが、★のところが疑問です。 どうしてこうなるのでしょうか?教えてください!

  • 文字を使った最大公約数の求め方・・・。

    数学のワークで、答えを呼んでもわからない 問題があってすっごく困っています! 「和が48、最大公約数が6、最小公倍数が90となる2つの数を求める。 2つの数を6x、6yとおいて方程式をつくり、求めなさい。」 という問題です・・・。答えでは、 6x + 6y = 48 6xy=90 という2つの式がまずたててありました。 1つ目の式は自分でも出せたのですが、 2つ目の式は解説を呼んでもイマイチわかりません! 「最小公倍数が90」     ↓ 「6xと6yの最小公倍数は6xy」     ↓ 「6xy=90」 と解説ではなっていますが、 「6xと6yの最小公倍数は6xy」の部分が どうも理解ができません・・・。 説明できる方お願いします!!!!

  • 最小公倍数

    次の整式の組の最小公倍数を求めよ。 4(a^2)bc^3 、 6(a^3)(b^2)cd 私の解答は (12a^3)(b^2)(c^3)  としましたが、問題集の解答には (12a^3)(b^2)(c^3)d になっていました。 私が(12a^3)(b^2)(c^3) と解答した理由は参考書に、「2つ以上の整式に共通な倍数を公倍数といい、そのうちで次数が最小のものを最小公倍数という。」と書いてありdは2つ以上の整式に共通ではないと思ったからです。 なぜdも最小公倍数に含まれているのか教えてください。

  • 計算方法の想像が膨らんでしまう。

    (1) 自然数Bを12,18,30のどの数で割っても3余る (2) 6で割ると3余り、7で割ると4余り、9で割ると6余る 上記の二つは、テキストにあった問題文の一部を抜き出し たものです。初めにこの問題に挑戦したとき、想像が膨ら んで解けませんでした。 例えば(1)の場合、テキストには12、18、30の最小公倍数に 3を加えればいいと書かれてあります。 しかし、もしかしたら、15,21,33の最小公倍数を求めれば いいのかもしれませんよね。 (2)の場合、6,7,9の公倍数より3少ない数と解説されていま すが、もしかしたら、9,11,15の公倍数を求めれば解ける かもしれませんし、6,7,9の公倍数に、3を足せばいいのか もしれませんよね。 このように、色々と想像が膨らんでしまいます。解説をみ ても、そのことに気づくためにはどうしたらいいのか、が 書かれていないため似た問題がでても自力で解く自信が持 てません。 算数が得意な方はなぜ、この式を使えば解けるとわかるの ですか?宜しくお願いします。

  • すみませんが、最小公倍数をよく理かいできないのでおしえてください。3と

    すみませんが、最小公倍数をよく理かいできないのでおしえてください。3と9の最小公倍数は、9でいいんですか?後、2と5の最小公倍数は、10でいいんですか?