Задача #1690

Логические выражения

Сложнее ЕГЭ

(С. Чайкин) Обозначим через ДЕЛ(n,m) утверждение «натуральное число n делится без остатка на натуральное число m». Сколько существует натуральных значений A на отрезке [1;11111], для которых выражение

(ДЕЛ(A,x)(xA)(x1))x

тождественно истинне (т. е. принимает значение 1)?

Ответ
Войдите, чтобы история ответов и статистика сохранялись.
Решение Нажми, чтобы открыть

Ответ

1346
# Заметим, что выражение будет истинно, если число будет равно единице или будет простым 
def f(x):
return all(x % d for d in range(2, int(x**0.5)+1))

# Найдем количество подходящих значений A
count = sum(f(a) for a in range(1, 11_111+1))

print(count)
Быстрый переход
Перейти к задаче