- ベストアンサー
小数点第一位まである数字、12個の最小公倍数を出すプログラムをExce
小数点第一位まである数字、12個の最小公倍数を出すプログラムをExcelで作りたいのですが、どうやったら良いのでしょうか? わかる方いらっしゃいましたら教えてください。 宜しくお願いします。
- オフィス系ソフト
- 回答数2
- ありがとう数4
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
最小公倍数というのは整数についての概念です。 http://ja.wikipedia.org/wiki/%E5%85%AC%E5%80%8D%E6%95%B0 より >公倍数(こうばいすう)とは、2つ以上の正の整数の、それらに共通する倍数のことをいう 小数でそのようなことをするなら、そこで使う「最小公倍数」の定義が必要です。 例えば、2 と 2.5 の最小公倍数は、いくらになればいいのでしょう。 2の整数倍 2 4 6 8 10 12 …… と 2.5の整数倍 2.5 5 7.5 10 12.5 …… とで共通する最小の数とすれば 10 ということになりますが、 小数第1位までの数を扱うということでやっているのならば、 2の「小数第1位までの数」倍 つまり、0.1倍、0.2倍 …… を考えて 0.2 0.4 0.6 0.8 1 1.2…… 2.5の「小数第1位までの数」倍 ただし、かけた結果が小数第1位までの数とすると 0.2倍、0.4倍……を考えて 0.5 1 1.5 …… とで共通する最小の数は 1 ということになります。 他にも考え方があるかも知れません。 ということで、「小数第1位までの数の最小公倍数」の定義を示してください。
その他の回答 (1)
- ASIMOV
- ベストアンサー率41% (982/2351)
12個全体の最小公倍数ということですよね その数列が、ある程度規則的な並びなら何とか成りそうですが、ランダムな数だと、Excelで計算できる桁の限度を超える可能性が有ります 図は、適当な数を設定して計算したものですが、10個めでオーバーフローしてしまいました 一応、計算方法... 少数では計算できないの下駄を履かせて(10倍して)整数にして計算します 12個一度には出来ないので、2個づつ行います 計算は下記のユーザー関数を標準モジュールに書き込みます ---------------------------------- Function flcm(x As Long, y As Long) As Long Dim g As Long g = fgcm(x, y) flcm = x / g * y / g * g End Function Function fgcm(a As Long, b As Long) Dim r As Long, tmp As Long, z As Long If a < b Then tmp = a: a = b: b = tmp End If r = a Mod b If r = 0 Then z = b Else z = fgcm(b, r) End If fgcm = z End Function -------------------------- D3 =flcm(C2,C3) D4 =flcm(C4,D3) として、以下コピーします E列は1/10にして、桁を元に戻しています
関連するQ&A
- すみませんが、最小公倍数をよく理かいできないのでおしえてください。3と
すみませんが、最小公倍数をよく理かいできないのでおしえてください。3と9の最小公倍数は、9でいいんですか?後、2と5の最小公倍数は、10でいいんですか?
- ベストアンサー
- 数学・算数
- 最小公倍数の求め方の疑問点です
小学6年で習う、最小公倍数の求め方ですが、筆算の割り算の際に使う形を、上下ひっくり返した形で、素因数分解のやり方でやると思います。 それでやると、4と6なら、2で割るので、2と3が出てきて、結果2×2×3=12になりますよね。 それで疑問なのは、「2、3、4」とか「4、5、6」のような3つの数の最小公倍数を出す場合です。1で割るという考え方にすると、全部を掛け算することになるわけですが、そうすると、公倍数ではありますが、最小公倍数にはなりません。この場合はどうすれば求められますか?小学生に教えたいと思います。
- 締切済み
- 数学・算数
お礼
最小公倍数は整数についての定義だったのですか。 基本がなっていませんでした。 ありがとうございました。