Алгоритм решения задания 15. Часть 5
Учимся решать 15 задания пятого типа
Читать
На числовой прямой дан отрезок A = [2; 47]; B – множество всех натуральных делителей числа 69, отличных от единицы и от самого числа 69; C – множество всех натуральных делителей некоторого натурального числа y, отличных от единицы и от самого числа y (число y таково, что множество C непустое).
Укажите такое значение числа y, имеющее максимальное количество делителей, для которого выражение (x ∈ C) → ((x ∈ A) ∧ ¬ (x ∈ B)) истинно (т.е. принимает значение 1) при любом значении переменной x.
def f(x, y):
A = 2 <= x <= 47
B = 69 % x == 0 and x != 1 and x != 69
C = y % x == 0 and x != 1 and x != y
return C <= (A and not B)
res = []
for y in range(1, 1000):
divs = [d for d in range(2, int(y ** 0.5) + 1) if y % d == 0]
if divs and all(f(x, y) for x in range(1, 1000)):
res.append((len(divs), y))
print(max(res)[1])
