OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

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

  • 困ってます
  • 質問No.156425
  • 閲覧数938
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 59% (35/59)

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

 
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル8

ベストアンサー率 16% (9/55)

まず、ユークリッドの互除法で求められるのは、最大公約数ですよね。

これは、
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が求められます。

部分部分細切れになっているので、つなげればできますよね。
お礼コメント
goosasuke

お礼率 59% (35/59)

勉強させられます。ありがとうございました。
投稿日時 - 2001-10-25 01:35:24
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル9

ベストアンサー率 48% (24/49)

ユークリッドの互除法って最大公約数を求める理論ですよね? 何回も最大公約数を求めるのは面倒なので 足し算自体は 簡単に (分子1 * 分母2) + (分子2 * 分母1)で 分子 分母1 * 分母2 で 分母 を計算して 求めた分子と分母を最大公約数を使い約分しました。 なお参考ソースは 数値チェックや0除算などのチェックを行っていません。 コマンドボタンとテキストボックスを使用しました。 ...続きを読む
ユークリッドの互除法って最大公約数を求める理論ですよね?
何回も最大公約数を求めるのは面倒なので
足し算自体は 簡単に (分子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
お礼コメント
goosasuke

お礼率 59% (35/59)

これをもとに勉強したいと思います。ありがとうございました。
投稿日時 - 2001-10-25 01:37:02


このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ