Тема . Формула единства - задания по годам

Формула единства 2020

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела формула единства - задания по годам
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#123421

Каждая из двух сестёр загадала натуральное число от 1  до 1000.  Папа по очереди задаёт сёстрам (то одной, то другой) вопросы, на которые можно ответить «да» или «нет». Он хочет, задав не более чем по 6  вопросов каждой из сестёр, выяснить, верно ли, что загаданные числа различаются более чем на 500.  При этом ни одна из девочек не знает, что загадала другая, поэтому каждую сестру можно спрашивать только о её числе. Придумайте, как папе добиться цели.

Источники: ФЕ - 2020, 11.4 (см. www.formulo.org)

Подсказки к задаче

Подсказка 1

Сначала определите, в каком интервале находится число первой сестры. Задайте вопрос: «Твоё число > 500?». Если ДА -> проверяем b < a - 500. Если HЕT - проверяем b > а + 500. (1) Для а > 500: сравниваем х = а - 500 и у = b. (2) Для а < 500: сравниваем х = a + 500 и у = b Теперь задача свелась к сравнению x и у! Первая сестра знает х, вторая знает у, но не знают друг о друге.

Подсказка 2

Используйте бинарный поиск для сравнения х и у: (1) Начните с полного диапазона [1;1000] для у. (2) Задавайте вопросы вида «у > k?» (например, k=500, 250, 750). Назвав наш промежуток возможных варинтов отрезок [m;n] будем отсекать ровно половину варинтов, но как? Почему нам пригодится именно целая чать от (m+n)/2?

Подсказка 3

Пересчитываем все варианты. Последние 2 вопроса уточнят: Равны ли х и у (тогда |a - b| = 500), или одно число строго больше другого (тогда |a - b| > 500). Если х < у для а > 500 или х > у для а < 500, условие выполнено!

Показать доказательство

Пусть первая сестра загадала число a,  а вторая сестра — число b.  Нам нужно узнать, верно ли, что |a − b|> 500.  Мы не можем сравнить числа и просто раскрыть модуль, так как каждая из сестёр знает только своё число, поэтому рассмотрим, чему эквивалентно неравенство в зависимости от a:

1) Если a  больше пятисот, то b  должно быть меньше пятисот для того, чтобы неравенство выполнялось. То есть, если a >500,  то неравенство эквивалентно a− b> 500,  или же a− 500> b.  Таким образом, нам нужно сравнить два числа: x= a− 500  и y =b,  при этом первая сестра знает, чему равно x,  а вторая сестра знает, чему равно y.  Пусть множество всех возможных значений x  это множество X,  а множество всех возможных значений y  — это Y.  Сейчас X = [1;500],Y =[1;1000].  Тогда X ∩Y = [1;500].

2) Аналогично, если a≤ 500,  то неравенство эквивалентно b− a >500,  или же a+500< b.  То есть нам так же нужно сравнить два числа: x = a+500  и y = b,  при этом первая сестра знает, чему равно x,  а вторая сестра знает, чему равно y.  Пусть множество всех возможных значений x  это множество X,  а множество всех возможных значений y  — это Y.  Сейчас X = [501;1000],  Y = [1;1000].  Тогда X ∩Y = [501;1000].

Итак, в обоих случаях у нас получилось, что нужно сравнить два числа x  и y,  причём одно из чисел известно первой сестре, а другое второй, а пересечение множеств возможных значений этих чисел состоит из пятисот элементов. Зададим первой сестре вопрос: «Верно ли, что a >500?  » После этого введем x  и y  согласно случаям, расписанным выше, и будем сравнивать эти числа по одному алгоритму.

С каждым шагом будет уменьшать пересечение множеств X  и Y  в два раза. Например, второй вопрос будет: «Верно ли, что y >250?  » или «Верно ли, что y > 750?  » в зависимости от ответа на первый вопрос. Если на каком-то шаге X ∩Y = [m;n],  то мы спрашиваем, верно ли, что x  (или y,  в зависимости от того, кому задаем вопрос) больше, чем [     ]
 m-+-n .
   2  Таким образом, после второго вопроса в пересечении множеств будет X  и Y  будет 250 элементов, после третьего вопроса — 175 элементов, после четвёртого — 88, и так далее. Получается, после десятого вопроса в пересечении будет всего один элемент. Пусть это будет число z.

При этом, после каждого вопроса уменьшается так же количество элементов в X  или в Y.  Пусть после десятого вопроса X = [x1;z],Y =[z;y1]  (или наоборот, все элементы множества X  не меньше z,  а все элементы множества Y  — небольше). Последние два вопроса будут: «Верно ли, что x =z  » или «Верно ли, что y = z?  ». Если ответы на оба вопроса «да», то числа x  и y  равны, и загаданные сёстрами числа различаются ровно на 500. Если ответ на первый из этих вопросов «нет», то x< z ≤ y.  Аналогично, если ответ на второй вопрос «нет».

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

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

Бесплатное онлайн-обучение

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

Налоговые вычеты

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

Специальное предложение
для учителей

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

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!