カテゴリー
数学 数学の問題をプログラムで解く

数学の問題をプログラムで

500以下の自然数のうち、正の約数が15個である数の個数と求めよ。

for i in range(1,501):
 k=0
 for j in range(1,i+1):
  if i % j ==0:
   k=k+1
 if k==15:
   print(i)
——————————
144
324
400

答えは3個です。プログラムを使えばこんなに簡単に解けます。
しかしきっと数学の先生は怒るから真面目に解きましょう。
積が15になる自然数の組み合わせは1×15と3×5です。
よって約数が15個である数を素因数分解すると
p1-1q15-1=q14またはp3-1q5-1=p2q4の形です。
ただしp,qは素数でp≠q
q14≦500 またはp2q4≦500となるp,qを求めましょう。
q14≦500となるqはありません。

prime=[2,3,5,7,11]
 for p in prime:
  for q in prime:
   if p**2*q**4<=500 and p!=q:
   print(p,q,p**2*q**4)
——————————————
2 3 324
3 2 144
5 2 400


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

inserted by FC2 system