![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_04.png?e8efa67)
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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチ処理 特定の文字以降を...
-
VBA テキストボックスを選択状...
-
[コンパイルエラー 修飾子が不...
-
teratermで、ファイル名をinput...
-
パイソンでテキストファイルが...
-
fortranでNAのあるデータを読み...
-
Excelマクロ 空白セルを無視し...
-
VBAでcsvファイルもシートもあ...
-
バッチコマンドで指定行を抽出...
-
ファイルサイズ
-
シート内容の文字列を置換してV...
-
CSVデータの文字列置換
-
ダブルコーテーション付きでCSV...
-
【ExcelVBA】300万件越えCSVか...
-
CSVで余計な空行が入る
-
vbaマクロについて 次のような...
-
ファイル名を変数で書きこむfwr...
-
rubyプログラムでのフォルダ内...
-
IPアドレスのゼロパディング
-
Pythonのコードエラーについて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ処理 特定の文字以降を...
-
VBA テキストボックスを選択状...
-
[コンパイルエラー 修飾子が不...
-
Access VBA エラー2448について
-
SQLでテキストボックスの文字を...
-
teratermで、ファイル名をinput...
-
MS-DOSバッチファイルコマンド...
-
verilog HDLについての質問です...
-
超初心者です。シングルクォー...
-
型の値をDataGridViewセルに変換...
-
■PukiWikiの凍結解除方法を教え...
-
バッチ for /f 空白、スペース...
-
分数の計算のプログラミングです。
-
Fileの読み込み処理について
-
ASP.NET (VB) データのnull(空...
-
findを使うのか?
-
エクセルのデータを大量のテキ...
-
アスキー変換 と 逆変換について
-
【Ruby】テキスト置換を1ファイ...
-
プログラミングによるオセロゲ...
おすすめ情報