先生、こんにちは。突然ですが、今日は僕が作った新しい『最小公倍数プログラム』を紹介したいと思います。前回は、『素因数分解』と『最大公約数』を利用してプログラムを書きましたが、それらとは全く異なる方法で書きました。
ほう、それは簡単に言うとどういう方法かな?
はい、方法はいたってシンプルです。与えられた二つの整数の倍数のリストA、Bを作って、それらの要素を比較し一致するかどうか調べます。そして、一致するものだけを集めたリストCを作って、Cの要素のうち一番小さいものを表示するという方法です。
なるほど、するとリストCは二つの整数の公倍数からなるリストということになるな。ではさっそく書いてもらおうかな。
はい、今回は『file55』に書きます。
上のプログラムの説明をします。
1・2行目ではキーボードから二つの正の整数aとbを入力します。3・4・5行目は後で使う空のリストA、B、Cを用意しています。7・8行目ではaの倍数をb個だけ空のリストAに追加します。9・10行目ではbの倍数をa個だけ空のリストBに追加しています。最小公倍数は明らかにaとbの積以下なので個数は有限個となります。14~17行目がaとbの公倍数のリストCを作るプログラムです。for文の2重ループになっています。リストAの要素を順にリストBの要素全てと等しいかどうか調べています。等しければ空のリストCに追加するということになっています。最後に19行目でリストCの一番小さい要素を表示します。
うむ、素晴らしい!プログラムの長さで言ったら、前回の『file53』、『file54』より多少短くなっているな。それは、プログラムがより単純化されたことを意味する。
はい、あれこれ自分で考えられるようになって楽しくなってきました。
本当に上達してきたと思うぞ!今日はいいものを見せてくれてありがとう。
はい、こちらこそありがとうございました!
コメント