1と2と3と4~100の最小公倍数を教えてください

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/04/21 11:43:58
  • 終了:2012/04/28 11:45:03

回答(3件)

id:TransFreeBSD No.1

TransFreeBSD回答回数659ベストアンサー獲得回数2642012/04/21 12:55:30

wikipediaによると、以下が100以下の素数だそうです。

2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97

このうち、2は6乗が、3は4乗が、5と7は2乗が100以下ですので、それらと残りの素数を掛け合わせたものが最小公倍数になると思います。
(さて、なぜでしょう?)
計算はwolfram|alphaを使うと計算できるかもしれません。

id:mjy No.2

mjy回答回数67ベストアンサー獲得回数202012/04/21 16:27:35

pythonで計算したところ、69720375229712477164533808935312303556800 になりました。

#! /usr/bin/python
from __future__ import print_function, division
import fractions


def lcm(num, num2):
        return num * num2 // fractions.gcd(num, num2)


lcm_num = 1
for i in range(2, 100+1):
        lcm_num = lcm(lcm_num, i)

print(lcm_num)

TransFreeBSDさんの方法でも同じ結果ですから正しいのでは無いでしょうか。

#! /usr/bin/python
from __future__ import print_function, division

n = 1
for i in [2**6, 3**4, 5**2, 7**2, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]:
        n = n * i

print(n)
id:MARIO1014

わざわざありがとうございます

2012/05/04 22:04:50
id:rsc96074 No.3

rsc回答回数4385ベストアンサー獲得回数4002012/04/22 00:46:07

 DosのUBASICで計算してみましたが、上様と同じ結果が得られました。
●UBASIC ソース


   10   A=1
   20   for B=2 to 100
   30   A=lcm(A,B)
   40   next B
   50   print A
   60   end

●実行結果


 69720375229712477164533808935312303556800
OK
id:MARIO1014

ものすごい数ですね

2012/05/04 22:06:17

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません