Среди целых чисел, принадлежащих числовому отрезку [264871; 322989], найдите числа, которые представляют собой произведение двух различных простых делителей, заканчивающихся на одну и ту же цифру. Запишите в ответе количество таких чисел и их среднее арифметическое. Для среднего арифметического запишите только целую часть числа. Числа записать через пробел.
# Проверка на простоту
def is_prime(number):
if number == 1: return False
for div in range(2, int(number ** 0.5) + 1):
if number % div == 0:
return False
return True
# Поиск чисел, которые являются произведением простых
# с одной и той же цифрой на конце
def find_numbers(number):
for div in range(2, int(number ** 0.5) + 1):
if number % div == 0:
if is_prime(div) and is_prime(number // div) and div != number // div:
if div % 10 == ((number // div) % 10):
return True
return False
return False
counter = 0
summa = 0
for i in range(264871, 322989 + 1):
if find_numbers(i):
summa += i
counter += 1
print(counter, summa // counter)
Ответ: 2182 293612