

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が求められます。
部分部分細切れになっているので、つなげればできますよね。
No.1
- 回答日時:
ユークリッドの互除法って最大公約数を求める理論ですよね?
何回も最大公約数を求めるのは面倒なので
足し算自体は 簡単に (分子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が見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vba textboxへの入力について教...
-
VBAでCOPYを繰り返すと、処理が...
-
【ExcelVBA】5万行以上のデー...
-
【ExcelVBA】値を変更しながら...
-
複数のExcelファイルをマージす...
-
【ExcelVBA】値を変更しながら...
-
Vba セルの4辺について罫線が有...
-
vbsでのwebフォームへの入力制限?
-
Excelマクロで使うVBAコードを...
-
VBA Application.Matchについて...
-
VBA ユーザーフォーム ボタンク...
-
【マクロ】シートの変数へ入れ...
-
Excelのマクロについて教えてく...
-
Excel マクロについて詳しい方...
-
WindowsのOutlook を VBA から...
-
Excel 範囲指定スクショについ...
-
VBA レジストリの値の読み方に...
-
Vba Array関数について教えてく...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
vb.net(vs2022)のtextboxのデザ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ処理 特定の文字以降を...
-
VBA テキストボックスを選択状...
-
Access VBA エラー2448について
-
verilog HDLについての質問です...
-
指定回数の確認?
-
[コンパイルエラー 修飾子が不...
-
SQLでテキストボックスの文字を...
-
フォーム間でtxtbox値の渡しで...
-
型の値をDataGridViewセルに変換...
-
[Excel VBA] 入力された値に応じて
-
teratermで、ファイル名をinput...
-
プログラムに詳しい人教えてく...
-
アスキー変換 と 逆変換について
-
TEXTファイルを日付・時刻で保存。
-
C++Builder6.0 Memoの表示内容...
-
プログラミングによるオセロゲ...
-
fortranについて
-
分数の計算のプログラミングです。
-
Fileの読み込み処理について
-
フォームのResizeイベントについて
おすすめ情報