Pythonで調和数を求める方法
調和数というものがあります。
これをPythonで求めてみました。
#def harmonic_mean(num_list):
# 調和平均(数のリストを渡すと調和平均を返す)
s = 0
for n in num_list:
s += 1 / n
return len(num_list) / s
def divisor(n):
# 約数のリストを返す
results = []
for i in range(1, n + 1):
if n % i == 0:
results.append(i)
return results
for n in range(1, 10000):
results = divisor(n)
h = harmonic_mean(results)
h = int(h * 10000) / 10000
if h == int(h):
print(n)
# 調和平均(数のリストを渡すと調和平均を返す)
s = 0
for n in num_list:
s += 1 / n
return len(num_list) / s
def divisor(n):
# 約数のリストを返す
results = []
for i in range(1, n + 1):
if n % i == 0:
results.append(i)
return results
for n in range(1, 10000):
results = divisor(n)
h = harmonic_mean(results)
h = int(h * 10000) / 10000
if h == int(h):
print(n)
【結果】
1
6
28
140
270
496
672
1638
2970
6200
8128
8190
[ 2022年6月27日 | カテゴリー: 豆知識 | タグ: 数学 , 整数 ]
« 「御破算」は何と読むか? | 学年別のふりがなを自動的に振る「Furigana」 »
コメントを残す