Как в ЕГЭ · 6 из 20
№15. Наименьшее A
По мотивам задания №15. Есть логическое выражение от x и параметра A — с поразрядным «и» или делимостью. Нужно наименьшее A, при котором выражение истинно при любом натуральном x. На бумаге это рассуждение по битам; программой — два вложенных перебора.
Что сделать
Найдите наименьшее A от ot до do, при котором f(x, A) истинно для всех x от 1 до do.
Что приходит
f— функция двух аргументов: x и A; возвращает истину или ложьot— с какого A начинать: 0 — у поразрядных, 1 — у делимости (на 0 делить нельзя)do— до какого числа перебирать и x, и A, включительно
Что вернуть
Наименьшее подходящее A — целое число; если такого нет — None.
Допишите функцию naimenshee_a в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
f = lambda x, A: (x % A == 0) <= ((x % 6 == 0) or (x % 4 == 0)) — «если x делится на A, то x делится на 6 или на 4». A = 1, 2, 3 не годятся: x = 1, 2, 3 делятся на них, но не на 6 и не на 4. A = 4 годится при любом x. Ответ — 4.
x перебираются от 1 до do включительно — натуральные, ноль не входит. A — от ot до do включительно, по возрастанию. A подходит, если f(x, A) истинно при каждом x. Нет подходящего — None.
Образцовый тест целиком
f = lambda x, A: (x % A == 0) <= ((x % 6 == 0) or (x % 4 == 0))
naimenshee_a(f, 1, 100)
4
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.