Задачи в пятницу [25]

Аватар пользователя serghey

Публикуем правильные и интересные ответы на задачи Выпуска. Возможно, кого-то не упомянул. С задачами 7 и 8 не справился никто.

1) Соловей-разбойник, известный хулиган из Голосеевского леса, что под стольным градом Киевом со стороны чумацкого шляха, резко встал на путь исправления и, надумав поступить в музыканты, притащил в лес рояль. Но дело не заладилось и Соловей обратился за помощью к Варваре-Красе Длинной Косе, большой мастерице, искусствам обученной, на многих инструментах играющей, слух услаждающих...

"Скажи, мол, подруга, как так получается, вроде и талант у меня, и грамоте музыкальной я обучен, и слух абсолютный, и песню любую могу спеть просвистеть... А как за какой инструмент сажусь, хоть за рояль, и ведь учили меня когда-то, а пальцы не слушаются, в ноты не попадаю, не чувствую, какую клавишу жать, фальшиво получается, перед кикиморами, упырями и вурдалаками стыдно - хохочут, бояться перестали..."

Что могла бы ответить окончившая консерваторию по классу фортепиано Варвара, ныне преподающая малолеткам в музыкальной школе? В чем заблуждается Соловей? И можно ли научить старика прилично музицировать на клавишных? Какой инструмент вместо клавишных посоветуете или пусть его художественно свистит?

Совет дает Такскать: "Если у Соловья действительно абсолютный слух, то он быстро выучит, как звучат все клавиши, и станет играть, попадая в ноты, и даже научится играть "вкусно" - именно практику и должна была бы посоветовать ему Варвара."

2) От коллег SergeyVBNM и dantist1

Верно ли, что через любые 4 точки в плоскости, которые не лежат на одной прямой можно провести линии и получить треугольник?

Решение дал dantist1. а также ctrl_points, (casper_nn, picozoid, TenOClock, Дмитрий0472, Радионеслушатель, Txip, ОПВ, гоkorvintorson: Через любые 4 точки можно провести линии до пересечений и получить треугольник, если точки образуют выпуклый четырехугольник. Вот картинка, например, для точек-вершин прямоугольника:

sm_Square.jpg.

А вот пример невыпуклого четырехугольника:

 sm_4-points.jpg

3) В деревне Простоквашино 2/3 женщин замужем и 3/5 мужчин женаты. Это сколько процентов населения деревни в браке состоит? Все замужем/женаты только на жителях Простоквашино.

Правильный ответ 12/19: Kuzmi4  , Райвен, Радионеслушатель, Superius

4) Какой металл встречается в природе реже, чем платина или уран, но до последнего времени был почти в каждом доме?

Правильные ответы: Замполит, ртуть, CCAPMX Hg, W, Дмитрий0472, Радионеслушатель, Rashad_rus

5) Молодожены Паша и Даша весело решают, что же им купить на первую пашину зарплату - Паша хочет компъютер, а Даша хочет холодильник. Есть пять шкатулок в ряд (перенумерованы, 1.2.3.4.5). В одну из них Паша положил деньги. Даша открывает любую. Если из 6 попыток Даша угадает, в какой деньги, то холодильник. Не угадает - Паша купит новый комп.

Главное условие задачи: после каждой (неудачной) попытки Даша выходит из комнаты, а Паша обязательно перепрятывает заначку в соседнюю шкатулку слева или справа. Может ли умная Даша, крепко подумав, гарантировать покупку холодильника, не более, чем за 6 попыток? (При неудачном угадывании Даша НЕ видит, в какой шкатулке были деньги", Паша НЕ сообщает)

Очень ясный/прозрачный/красивый ответ дал andervish: Открывая шкатулки по алгоритму 234234 или 234432 (или по симметричному алгоритму) Даша гарантированно на некотором ходу заберет деньги. Рассмотрим 234234:

Если деньги в самом начале находятся в чётной шкатулке, и не обнаружены на первом ходу, то они в шкатулке номер 4. Оттуда они перейдут в шкатулки 3 или 5. Если деньги не обнаружены на втором ходу, то в шкатулке 5. Отсюда они могут перейти только в шкатулку 4, где и будут обнаружены Дашей на третьем ходу. 

Если за три хода деньги не были обнаружены, то они вначале находилась в нечётной шкатулке. После трёх ходов они оказываются в чётной норке. Поэтому повторив ходы 234 Даша гарантировано заберет деньги.

Правильные ответы от casper_nn, Olejon, korvintorson, Антон_8X

6) Задача от Антон_8X : Есть некоторое количество вагонов, сцепленных друг с другом в кольцо. Из каждого вагона можно перемещаться в оба соседних. В каждом вагоне есть источник света и выключатель для него. В начальный момент времени мы находимся в одном из вагонов, при этом не знаем, включен или выключен свет в других вагонах. Нам нужно определить количество вагонов в этом "кольце". Для этого мы можем ходить по вагонам и включать/выключать в них свет. Мы можем видеть, включен или выключен свет только в том вагоне, в котором сейчас находимся. У вагонов нет окон, до лампочек нам не дотянуться, лампочки вечные и т.п. - в общем, нужно подсчитать количество вагонов, перемещаясь по составу и манипулируя выключателями. Количество вагонов может быть сколь угодно большим или малым, времени у нас много, нужен универсальный алгоритм.

Стрелять по лампам нельзя, эксперимент проводит один человек, можно вести запись 0/1, в вагонах кроме экспериментатора нет никого, кто мог бы тайком включить/выключить свет.

Количество вагонов N может быть любым, от единицы до сколь угодно большого числа. Вагоны должен пересчитать проводник.
Вагон - абстракция, поэтому следует считать, что если число вагонов =1, то выйдя в одну дверь вагона, проводник входит в его вторую дверь. Такой себе вагон-кольцо.
Понятно, что 2 вагона соединены так, что выход в любую дверь из первого вагона приводит проводника во второй, а из второго вагона в любую дверь в первый.
Проводник входит в вагон номер 1 и для пересчета двигается против часовой стрелки, переходя из вагона в вагон через правую дверь, а возвращается через левую дверь вагонов по часовой стрелке. Последний вагон находится сразу слева от первого. Далее подробно:

Шаг I=0
Проводник в вагоне номер 2**I (=1), зажигает свет в вагоне номер 2**I, выходит в правую дверь в вагон 2**I+1, гасит свет в вагоне номер 2**I+1, возвращается в первый вагон и проверяет наличие света.
Два варианта 1) свет в первом вагоне горит, следовательно последний вагон не был достигнут, 2) свет НЕ горит, следовательно последний вагон был достигнут, N=1.
Каждый следующий шаг осуществляется при условии, что на предыдущем шаге последний вагон не был достигнут.
Шаг I=1
Проводник зажигает свет во всех вагонах с номерами от 1 до 2**I(=2), выходит в правую дверь в вагон 2**I+1(=3) и далее, гасит свет в вагонах с номерами от 2**I+1(=3) до 2*2**I(=4), возвращается в первый вагон и проверяет наличие света.
Два варианта 1) свет в первом вагоне горит, следовательно последний вагон не был достигнут, 2) свет НЕ горит, следовательно последний вагон был достигнут.
Следующий шаг осуществляется при условии, что на предыдущем шаге последний вагон не был достигнут
Шаг I=2
Проводник зажигает свет в вагонах с номерами от 1 до 2**I(=4), выходит в правую дверь в вагон 2**I+1(=5) и далее, гасит свет в вагонах с номерами от 2**I+1(=5) до 2*2**I(=8), возвращается в первый вагон и проверяет наличие света.
Два варианта 1) свет горит, следовательно последний вагон не был достигнут, 2) свет НЕ горит, следовательно последний вагон был достигнут.
...
Шаг I=i - конечный
Проводник зажигает свет в вагонах с номерами от 1 до 2**i, выходит в правую дверь в вагон 2**i+1 и далее, гасит свет в вагонах с номерами от 2**i+1 до 2*2**I, возвращается в первый вагон и проверяет наличие света.
Два Один варианта 1) свет горит, следовательно последний вагон не был достигнут, 2) свет НЕ горит в первых L вагонах, следовательно последний вагон был достигнут, N=2*2**I-L

Интересно обсуждали KaCMaHaBT, ctrl_points, Gray, _Soulcatcher_, casper_nn, korvintorson,

7) Разделить произвольный отрезок, соединяющий две точки, на две равные части с помощью засечки "математического" циркуля - ничего не измеряет, только фиксирует расстояния, одна ножка с иголкой, другая с тонким грифелем. Кроме циркуля ничего нет, только две точки. Когда получите решение, то окажется, что и отрезок проводили напрасно... Ответа никто не дал

8) "Глупая" задача: 111 222 111 ABC IJK XYZ ... - продлите последовательность 111 222 111 и скажите, что это такое. Рекомендуется цифры проговаривать вслух (типа: one one one two two two )))... Ответа никто не дал

9) "Ты в тупике? Не стой на месте. Иди, ???????" - закончите фразу.

Ответ дал Такскать: Иди , ищи другие тупики)

Комментарии

Аватар пользователя всеПРОсто
всеПРОсто(8 лет 11 месяцев)

5) откр2 нет? откр2нет?=>1 и2 пуста; так же с 3 и 4 покупаем холодос)))

Аватар пользователя Дмитрий0472
Дмитрий0472(10 лет 5 месяцев)

к 2. Да, можно, бесконечное количество треугольников. Через любые две точки на плоскости можно провести только одну линию, а через оставшиеся две - бесконечное количество прямых, непараллельных и непересекающихся в какой-либо точке первой линии, на которых и будут располагаться стороны треугольника.

Аватар пользователя picozoid
picozoid(10 лет 1 месяц)

Не. Пример - три точки и между ними четвертая. Треугольник не получится.

Аватар пользователя Дмитрий0472
Дмитрий0472(10 лет 5 месяцев)

В задаче ничего не сказано, что точки должны находиться на сторонах образовавшегося треугольника, а говорится только о линиях, проходящих через них и образующих треугольник...

Аватар пользователя Дмитрий0472
Дмитрий0472(10 лет 5 месяцев)

Хотя да, верно говорите, три точки на одной прямой, а четвёртая вне, соответствует условию задачи и может быть построен только один треугольник.

Аватар пользователя picozoid
picozoid(10 лет 1 месяц)

Имел в виду такой пример: спроецируйте на плоскость трехгранную пирамиду, получите на плоскости 4 точки , через которые не провести один треугольник.

Аватар пользователя Дмитрий0472
Дмитрий0472(10 лет 5 месяцев)

Элементарно, Ватсон! Этот случай возможен при создании треугольника с точками нерасположенными на его стенках, но линии проведённые через них образуют треугольник на площади за местом расположения одной или даже двух точек.

Аватар пользователя casper_nn
casper_nn(11 лет 8 месяцев)

Условие задачи позволяет двойную трактовку. Если мы трактуем "построить треугольник такой, чтобы все четыре точки лежали на его сторонах или были вершинами" то нельзя. Контрпример а-б-в треугольник и точка г внутри него. Если просто "построить треугольник, стороны которого будут лежать на прямых проходящих через точки" то можно.

Аватар пользователя Антон_8X
Антон_8X(8 лет 7 месяцев)

2) Чтобы построить треугольник, нужны 3 точки не на одной прямой. Возьмем любые 2 из данных - A и B. Если C - не на прямой AB, то строим ABC. В противном случае (C - на AB), D - не на AB (иначе все 4 - на AB, что противоречит условию). Поэтому строим ABD.

3) 12/19

5) ВОПРОС: ...? 2 2 4 2 3 4, или еще 3 аналогичных варианта

 

Аватар пользователя serghey
serghey(12 лет 4 месяца)

5) Конечно, "При неудачном угадывании Даша НЕ видит, в какой шкатулке были деньги", Паша НЕ сообщает

Аватар пользователя Антон_8X
Антон_8X(8 лет 7 месяцев)

Спасибо, действительно, все сильно проще)

Аватар пользователя Радионеслушатель

2 точки (скажем А и В) всегда дадут единственную прямую. Каждая добавленная точка дает возможность провести как две прямых к первым точкам (что традиционно заложено в аксиомах геометрии) так и только одну к любой произвольной А или В. Что дает нам две пересекающиеся прямые и угол между ними А или В. 4 точка дает нам еще одну прямую, не параллельную ни одной из уже существующих. И поскольку у нас есть три не параллельных прямых, мы завсегда получим из них треугольник.

Аватар пользователя Радионеслушатель

Вообще для (7) есть дедовское решение, знакомое всем, кто чертил ручками на коленке без миллиметровки а не только в автокаде. Чертим из любой точки окружность радиусом АВ. Подгоняем козью ногу таким образом, чтобы делая метки по длине окружности она укладывалась в нее 12 раз и мы получаем вполне годное практическое (приблизительное) решение.

Аватар пользователя _Soulcatcher_
_Soulcatcher_(9 лет 2 месяца)

Сейчас коллега дала задачу для сына..учебник 5 класса..не могу решить..не понимаю подвох.. Условие задачи (могу даж скрин сделать)

Тетя Груша продает кабачки

3 шт - 5руб

4шт - 6руб

5шт - 7 руб

Ни в каком другом количестве она не продает. Вчера она продала 100 шт и выручила 100$ сколько продаж совершила тетя Груша.(уточнить задачу не могу. 5 класс. Условие дословно "как есть")

Аватар пользователя Дмитрий0472
Дмитрий0472(10 лет 5 месяцев)

...Вчера она продала 100 шт и выручила 100$ ...

А какой курс доллара установил школьный банкир учитель? laugh

Аватар пользователя serghey
serghey(12 лет 4 месяца)

Уточните условие, строго сформулируйте, будьте уверены, что нет ошибки -  то доллары, а то рубли... И присылайте в приват. Разместим для всех в следующем Выпуске

Аватар пользователя serghey
serghey(12 лет 4 месяца)

N1*3+N2*4+N3*5=100

N1*5+N2*6+N3*7=100

???

Если доллары заменить на рубли, то система уже несовместна. Таки да.Нужен курс)))

Аватар пользователя ctrl_points
ctrl_points(8 лет 10 месяцев)

У вас в первом ряду N - штуки, а во втором  N - рубли. Нужна другая переменная

Аватар пользователя serghey
serghey(12 лет 4 месяца)

ненене. 100 рублей 100 штук

Аватар пользователя Дмитрий0472
Дмитрий0472(10 лет 5 месяцев)

Неправильно составлена задача, однозначно. В любом случае один кабачок стоит дороже одного рубля (5/3, 6/4, 7/5). Так шта 100 кабачков будут стоить больше 100 рублей. Но в советские времена, как мне помнится, курс доллара бывал в районе 0р62к. Так что, важен курс школьного доллара или на каком уроке поставлена задача. А может в этой школе ведётся преподавание логики?

Аватар пользователя _Soulcatcher_
_Soulcatcher_(9 лет 2 месяца)

не спорю.. дети как-то решили.. но - мое недоумение точно по той же причине.. 100$ это 100 рублей..пересмотрел.. но.. как - цена же больше 1руб за шт при любых..

Аватар пользователя alterlex
alterlex(10 лет 2 недели)

7 - я бы провел окружности из обеих точек с радиусом, равным расстоянию между точками, а через точки пересечения окружностей (без всякой линейки, тем же самым циркулем) провел бы прямую, которая и разделит отрезок пополам. Или тут какая-то дополнительная хитрость есть?

Комментарий администрации:  
*** Отчислен (словоблудие, оранжизм) ***
Аватар пользователя Радионеслушатель

(8) у кого-то старый кнопочный телефон лежит в кармане с разблокированной клавиатурой

Аватар пользователя korvintorson
korvintorson(8 лет 8 месяцев)

6. В начальном вагоне выключить свет. Выбрать направление и двигаться по нему, включая свет в каждом вагоне. После каждого вагона возвращаться в начальный вагон (для этого запоминать количество пройденных вагонов) и проверять. Если там свет окажется включенным, значит круг пройден.

UPD. Можно оптимизировать алгоритм: возвращаться не каждый раз, а только после включения света (не возвращаться из вагонов, где свет и до нас горел).

Аватар пользователя Lige
Lige(10 лет 2 месяца)

Если вы знаете какой начальный подсчитать просто. Задача сводится к нахождению точки отсчета

Аватар пользователя korvintorson
korvintorson(8 лет 8 месяцев)

Условие задачи:

В начальный момент времени мы находимся в одном из вагонов

Задача не может сводиться к нахождению того, что уже задано в условии.

Аватар пользователя Lige
Lige(10 лет 2 месяца)

Один из вагонов - это любой. Чтобы подсчитать вагоны нужна точка отсчета, она же - конец отсчета поскольку они зациклены.Как вы определите, что вернулись именно к тому, с которого начали?

Аватар пользователя korvintorson
korvintorson(8 лет 8 месяцев)

Начальный вагон "помечен" выключенным светом. Когда я удаляюсь от начального вагона, я считаю вагоны, так что всегда знаю, на сколько вагонов нужно вернуться, чтобы попасть в начальный. Если при очередном возвращении я обнаружу в нем включенный свет, значит, я уже заходил в начальный вагон с другого конца.

Аватар пользователя korvintorson
korvintorson(8 лет 8 месяцев)

2. Задача нуждается в уточнении. Добавим следующие предположения:

1) Под линиями подразумеваются прямые, а не отрезки.

2) Каждая прямая должна проходить минимум через 2 точки. Иначе нет смысла в условии, что точки не лежат на одной прямой.

3) Прямых должно быть не более трех. 

Тогда ответ - нет. Невозможно построить треугольник в случае, если точки являются углами параллелограмма.

Аватар пользователя Txip
Txip(11 лет 4 месяца)

2) Можно кроме случая точки вершины прямоугольника.

Аватар пользователя ОПВ
ОПВ(9 лет 8 месяцев)

и в этом случае можно. треугольник прямоугольный будет. изначально в задаче точки в углах воображаемого квадрата и располагаются. а в решении одна точка в вершине прямого угла, которая по диагонали - на гипотенузе. оставшиеся точки тоже не в вершинах треугольника, а где-то на катетах.

Аватар пользователя serghey
serghey(12 лет 4 месяца)

получите треугольник на точках в вершинах прямоугольника/квадрата:

 sm_Square.jpg

Аватар пользователя Txip
Txip(11 лет 4 месяца)

Если уж формально подходить к условиям задачи, то кроме того что линии должны проходить через две заданные точки, там ещё не сказано что  линии должны принадлежать плоскости, что должны быть задействованы все точки...

Вот треугольник образованный тремя линиями проходящими через точки, лежащими на одной прямой.

Аватар пользователя korvintorson
korvintorson(8 лет 8 месяцев)

5. Вариант 2-3-4-4-3-2 или симметричный.

Аватар пользователя Lige
Lige(10 лет 2 месяца)

С вагонами просто - выключить свет везде, проверяя лампочки. Где будет теплая, негорящая - там были. Теперь идем и включаем свет и считаем вагоны

Аватар пользователя korvintorson
korvintorson(8 лет 8 месяцев)

Вы не знаете, сколько вагонов. Может, их 100500 и лампочка успеет полностью остыть.

Аватар пользователя serghey
serghey(12 лет 4 месяца)

Коллеги. Перечитайте условие Задачи. Вы не можете проверить температуру лампочки, никакой, никогда

Аватар пользователя korvintorson
korvintorson(8 лет 8 месяцев)

Тем более. Впрочем, я уже дал правильный ответ выше.

Аватар пользователя Lige
Lige(10 лет 2 месяца)

сходить назад и отрубить свет у 3-4 вагонов.

вернуться и дальше делать такой паттерн 1010010001000010000010000001....   если есть бумажка - ведем запись

встречая выключенный свет - считать сколько подряд. 

когда наткнулись на этот паттерн, глянули на записи, подсчитали.

если бумажки нет - сзади у нас куча выключенных вагонов, так что начинаем считать, включая свет подряд. как только после длинной череды выключенных подряд будет включенный - стоп. на всякий проверяем вперед, что там постоянно включенные.

 

==вариант  два

лампочку может и не проверим, но одежду положить же можем? как метку.

==вариант три

не можем? голые? писаем!

==вариант четыре

голодные и жажда мучит - метку поставить не можем?

кусаем себя до крови, пачкаем кровью стекло на двери

Аватар пользователя Lige
Lige(10 лет 2 месяца)

с удовольствие посмотрю на то, как вы 100500 вагонов туда-сюда ходите и считате.... ))))

Аватар пользователя korvintorson
korvintorson(8 лет 8 месяцев)

Судя по этому комменту и по вашему комменту выше, до вас не доходит, что задача - абстрактно-логическая. Вагоны - это метафора, понятная большинству. Для программистов это мог быть просто замкнутый двусвязный список из булевых переменных.

Аватар пользователя serghey
serghey(12 лет 4 месяца)

Коллеги, я решил задачу и вывесил ответ. Загляните в начало Выпуска. И да, приносите задачи для нового

Аватар пользователя casper_nn
casper_nn(11 лет 8 месяцев)

Если честно не понял решение про вагоны и не понял почему не будет работать моё - выключить свет в первом вагоне, а потом повторять шаг разведки:

1. Идти (например всегда вправо) и искать первый по счету выключенный свет.

2. Включить его и вернуться налево в первый вагон. Если в первом вагоне свет теперь горит значит мы прошли круг туда и обратно. Иначе повторяем п.1. 

Где тут ошибка?

Аватар пользователя serghey
serghey(12 лет 4 месяца)

2) А я не вижу у Вас ошибки, если я его правильно понимаю, просто оно не экономное.Представьте себе, что в первом вагоне свет был, а во всех остальных он заблаговременно выключен. Значит за каждый шаг, за каждую итерацию на конечность Вы проверяете только ОДИН новый вагон. "Замучаетась пыль глотать"(с). В моем алгоритме движение идет с ускорением, каждый следующих ход в два раза больше вагонов проверяет на вшивость на "конечность". Я даже могу пролететь на L вагонов, что поддается прямому счету во время обратного хода к первому вагону. Мой - экономней)))

1) первое отличие моего подхода от Вашего в том, что в первом вагоне/первой половине вагонов за один ход я свет включаю (во второй половине выключаю), а возвращаюсь для проверки на выключенность (добавлю в пост, что договориться с проводником можно и так и так)))).

У Вас, и не только у Вас, наоборот. Вы свет выключаете, а для фиксации последнего вагона его последовательно включаете. Это симметричные подход.

Аватар пользователя serghey
serghey(12 лет 4 месяца)

Подсчитайте, за сколько пар пробегов туда-сюда мой проводник пересчитает 1023 вагона)))

За 10 пар пробегов

Аватар пользователя casper_nn
casper_nn(11 лет 8 месяцев)

Ок, алгоритм вроде понял, красиво. Получается логарифмическая трудоемкость что-ли, против моей квадратичной. Но зато у вас проводник чаще выключателями щелкает! Да и в задаче условие найти работающий алгоритм, а не найти алгоритм, оптимальный по перемещению проводника. Я негодую! ))))

Аватар пользователя casper_nn
casper_nn(11 лет 8 месяцев)

хотя не логарифмическая, скорее порядка N*lg(N)

Аватар пользователя Lige
Lige(10 лет 2 месяца)

наглядный пример термина "профессиональная деформация" ))))

все задачи - абстрактно-логические по своей сути. отличаются они лишь границей абстракции.

вот если бы задача стояла так "найдите число ячеек бинарной памяти в циклически замкнутом стеке, уже заполненным случайными данными" я бы думал как программист. а задача была про проводника и вагоны.  и решается она по-разному.  вы, как я вижу, просто не способны смотреть на мир иначе как через призму программирования. отсюда и проф.деформация.

 

 

Аватар пользователя korvintorson
korvintorson(8 лет 8 месяцев)

Замечание по решению задачи 2. Если точки образуют невыпуклый 4-угольник, то треугольник построить можно.

Аватар пользователя ndorfin
ndorfin(9 лет 6 месяцев)

8  - звуки мотоцикла - 111 222 111 ABC IJK XYZ ШМЯК

Комментарий администрации:  
*** отключен (делает набросы, потом жалуется "А в Ахтунг за что?" - https://aftershock.news/?q=comment/12765625#comment-12765625) ***

Страницы