![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67b6d)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_04.png?e8efa67b6d)
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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
VBA 別ブックから条件に合うも...
-
VBA 別ブックからコピペしたい...
-
VBA コードどこがおかしいですか?
-
vbaにてseleniumを使用したedge...
-
Outlookの「受信日時」「件名」...
-
VBA初心者です。次のVBAコード...
-
[VB.net] ボタン(Flat)のEnable...
-
【ExcelVBA】インデックスが有...
-
Excel関数またはVBAでの質問に...
-
VBAで質問があります
-
配列のペースト出力結果の書式...
-
【PowerPoint VBA】緑色の文字...
-
【ExcelVBA】値を変更しながら...
-
Excelのマクロについて教えてく...
-
現在のブックを閉じないで、マ...
-
VBAのコードを教えてください
-
VBA ファイル名取得
-
VBA実行後に元のセルに戻りたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ処理 特定の文字以降を...
-
VBA テキストボックスを選択状...
-
[コンパイルエラー 修飾子が不...
-
teratermで、ファイル名をinput...
-
Access VBA エラー2448について
-
SQLでテキストボックスの文字を...
-
型の値をDataGridViewセルに変換...
-
分数の計算のプログラミングです。
-
ruby テキストファイル書き出し...
-
MS-DOSバッチファイルコマンド...
-
verilog HDLについての質問です...
-
■PukiWikiの凍結解除方法を教え...
-
Excel VBAでループ?続けて処理...
-
ASP.NET (VB) データのnull(空...
-
VBのFileOpenとInputというコ...
-
フォームのResizeイベントについて
-
言語[RUBY]を用いて、特定列を...
-
各行末にサーバのホスト名を代...
-
キーが重複しているデータの統...
-
エクセルのデータを大量のテキ...
おすすめ情報