Рассматривается множество целых чисел, принадлежащих числовому отрезку [854321; 1087654]. Найдите числа, нетривиальные делители которых образуют арифметическую прогрессию с разностью d = 10 (чисел > 1). В ответе через пробел для каждого такого числа (в порядке возрастания) запишите сначала само число, а потом – его минимальный нетривиальный делитель.
def divs(n): # функция , которая возращает список делителей или ложь если делители не образуют арифм. прогрессию с разностью 10
a = []
for i in range(2, int(n**0.5)+1):
if n % i == 0:
a.append(i)
if i != n//i:
a.append(n//i)
a.sort()
if len(a)>1: # если у числа более 1 делителя
for i in range(len(a)-1):
if a[i]+10 != a[i+1]: # если у текущего делителя со следующим делителем разность составляет не 10
return False # то такое число нам не подходит
return a
for i in range(854321, 1087654+1):
x = divs(i)
if x != False and len(x) > 1:
print(i, x[0])
Ответ: 887339 937 944759 967 1028171 1009 1052651 1021