Найти на промежутке [123123; 321321] числа, которые нацело делятся на целую часть среднего арифметического своих делителей. В ответе через пробел запишите количество таких чисел и их произведение.
def average(n): # делится ли на целую часть ср .ариф. делителей
k, s = 0, 0
for i in range(1, int(n ** 0.5) + 1):
if n % i == 0:
k += 1
s += i
if n // i != i:
k += 1
s += n // i
if n % int(s / k) == 0:
return True
return False
counter, p = 0, 1
for i in range(123123, 321322):
if average(i):
counter += 1
p *= i
print(counter, p)
k, s = 0, 0
for i in range(1, int(n ** 0.5) + 1):
if n % i == 0:
k += 1
s += i
if n // i != i:
k += 1
s += n // i
if n % int(s / k) == 0:
return True
return False
counter, p = 0, 1
for i in range(123123, 321322):
if average(i):
counter += 1
p *= i
print(counter, p)
Ответ: 5 352861289574854860800000000