15.07 Прочие прототипы
Ошибка.
Попробуйте повторить позже
Обозначим через ДЕЛ(,
) утверждение «число
делится без остатка на число
». Для дробных чисел это
означает, что результатом деления
на
является целое число.
На числовой прямой даны отрезки ,
. Найдите максимальную длину промежутка
, такого
что выражение
тождественно истинно, то есть принимает значение при любом натуральном числе
.
Решение программой
1. Мы создаем функцию inn(x, A), которая проверяет, находится ли число на отрезке
. Эта функция возвращает
True, если
принадлежит промежутку
, и False в противном случае. Это позволяет удобно проверять в формуле
условия
,
и
.
2. Определяем функцию f(x, A), которая возвращает True, если формула выполняется для конкретного и
выбранного промежутка
:
- Проверяем, что не делится на 5.5 и не делится на 4, либо
, либо
;
- Проверяем, что если , то
, иначе условие считается истинным;
- Объединяем обе части с помощью логического and, чтобы реализовать полное выражение формулы.
3. Для поиска максимальной длины промежутка мы задаем дискретизацию чисел с шагом
, где
, чтобы
корректно работать с дробными делителями 5.5 и 4. Это позволяет перебрать возможные значения начала и конца отрезка
с дробной точностью.
4. Перебираем все возможные начала и конца
отрезка
:
- Для каждого кандидата проверяем, выполняется ли формула для всех натуральных
от 1 до 69 (так
как верхняя граница 70);
- Если формула ложна хотя бы для одного , отрезок
отбрасывается.
5. Если формула выполняется для всех , проверяем длину текущего
и обновляем максимальную длину и границы,
если она больше предыдущей найденной.
6. После перебора всех вариантов выводим границы отрезка с максимальной длиной и саму длину.
# Функция проверки принадлежности x отрезку A def inn(x, A): # Проверяем, что x находится между A[0] и A[1] return A[0] <= x <= A[1] # Функция проверки истинности формулы для конкретного x и промежутка A def f(x, A): P = [13, 25] # Отрезок P Q = [18, 35] # Отрезок Q # Проверяем первую часть формулы: x не делится на 5.5 и на 4, либо x не в Q, либо x не в A # Объединяем с проверкой второй части формулы: x в P или x не в A return (((x % 5.5 != 0) and (x % 4 != 0) or (not inn(x, Q)) \ or (not inn(x, A))) and (inn(x, P) or (not inn(x, A)))) # Инициализация переменных для хранения максимальной длины и границ отрезка ans, n = 0, 15 # ans - максимальная длина, n - дискретизация для дробей borders = [0, 0] # borders - границы найденного промежутка A # Перебор возможных начала отрезка a for a in range(1 * n, 70 * n): # Перебор возможных концов отрезка b for b in range(a, 70 * n): A = [a / n, b / n] # Создаем текущий отрезок A с дробной точностью flag = True # Флаг, показывающий, что формула верна для всех x # Перебор всех натуральных чисел x в диапазоне от 1 до 69 for x in range(1, 70 * n): # Если формула ложна для x, меняем флаг и прерываем цикл if not f(x, A): flag = False break # Если формула верна для всех x, проверяем длину отрезка и обновляем максимум if flag: if A[1] - A[0] > ans: ans = A[1] - A[0] # Обновляем максимальную длину borders[0] = A[0] # Обновляем левую границу borders[1] = A[1] # Обновляем правую границу # Выводим найденные границы отрезка A с максимальной длиной print(borders) # Выводим максимальную длину отрезка print(ans)
Видим, что программа вывела промежуток и его длину
.
Значит, ответом является промежуток с дробными границами, левая граница которого стремится к , а правая к
,
тогда длина стремится к
.
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение
Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!