একটি সংখ্যা n ওর নম্বর (Ore number) হলে তার সব ভাগসঙ্ক্যার হারমোনিক মিন INTEGER হয়।
উদাহরণ
ইনপুট: 28
আউটপুট: True
ব্যাখ্যা: ২৮-এর ভাগসঙ্ক্য: ১, ২, ৪, ৭, ১৪, ২৮। হারমোনিক মিন = ৩ (পূর্ণসংখ্যা)।
সমাধান
get_all_div(n): সব ভাগসঙ্ক্য বের করুন।get_harmonic_mean(n): হারমোনিক মিন = (ভাগসঙ্ক্য সংখ্যা) / (Σ(n/div[i]) / n)।- যদি মিন পূর্ণসংখ্যা হয়, তবে
True।
উদাহরণ কোড
def get_all_div(n):
div = []
for i in range(1, int(n**0.5) + 1):
if n % i == 0:
if n // i == i:
div.append(i)
else:
div.append(i)
div.append(n // i)
return div
def get_harmonic_mean(n):
div = get_all_div(n)
total = 0
length = len(div)
for i in range(length):
total += n / div[i]
total /= n
return length / total
def solve(n):
mean = get_harmonic_mean(n)
if mean - int(mean) == 0:
return True
return False
n = 28
print(solve(n)) # Output: True
ইনপুট
28
আউটপুট
True