Pull to refresh

Когда больше нечего пить

Reading time5 min
Views48K
В последние несколько лет я регулярно оказываюсь в такой ситуации: до пункта назначения ещё ехать час, десять часов или сутки, по каким-либо причинам выполнено утверждение из заголовка статьи, за окном вид как на фотографии ниже, а всё, что можно было переговорить, уже переговорили. В этих случаях мне пригождается моё университетское образование, и я вспоминаю задачи, которые мы когда-то решали на перерывах, и игры, в которые играли на лекциях. В этой хабрастатье я приведу несколько задачек и игр, которые позволят провести время в поезде гораздо веселее. Самым сложным в этой ситуации является то, что нужно вспоминать задачки, которые были бы понятны и интересны всем, поэтому какие-нибудь клёвые математические задачки отпадают. С играми ещё сложнее, они, во-первых, также должны быть интересны всем, а, во-вторых, в такие классные игры, как баскетбол или волейбол в поезде не сыграешь.
Так как впереди ещё один летний месяц, то наверняка этот хабрапост будет кому-нибудь полезен.





Математические и «математические» задачки

1. Как с помощью трёх двоек и любых знаков математических операций записать число 100?
Ответ
100 = −log2log2sqrt(sqrt(...sqrt(2)...)), где вместо … нужно ещё 97 раз написать знак квадратного корня.

2. Возьмём шахматную доску и отпилим у неё клетки A1 и H8. Можно ли оставшееся поле замостить «доминошками» размером 1 клетка на 2 клетки?
Ответ
Нельзя, несложно придумать подходящий инвариант.

3. Разделим круг на шесть секторов, запишем в секторы числа 1, 0, 1, 0, 0, 0. Разрешается прибавлять по единице к двум соседним числам. Можно ли сделать все числа одинаковыми?
Ответ
Нельзя, несложно придумать подходящий инвариант.

4. Огурец на 90 процентов состоит из воды, а человек — на 70 процентов. На сколько процентов человек является огурцом?
Комментарий
Я не знаю как решать эту задачу :) Мне кажется, что условие некорректно, ну и пусть, главное чтобы было весело!

5. Ползут три черепахи. Первая говорит: «Впереди меня никого нет, а позади меня две черепахи». Вторая говорит: «Впереди меня одна черепаха и позади меня одна черепаха». А третья говорит: «Впереди меня одна черепаха, позади меня одна черепаха». Как такое может быть?
Ответ
Одна из черепах врёт. Реакция людей в момент, когда им сообщаешь правильный ответ, непредсказуема.

6. Как разрезать торт на 8 одинаковых частей тремя разрезами?
Комментарий
Есть как минимум два решения.

7. Самолет пролетел 100 километров на юг, затем 100 километров на восток, а затем 100 километров на север. В итоге самолёт оказался в исходной точке. Откуда он мог вылететь?
Комментарий
Можно даже несколько раз облететь вокруг полюса.

8. К стене прислонена лестница. На средней ступеньке этой лестницы сидит бесстрашный котёнок. Лестница начинает «съезжать» так, что один конец касается стены, а другой пола. В итоге лестница оказывается на полу. По какой траектории двигался котёнок?
Комментарий
То, что ответом является кусок окружности, догадываются все, но не все правильно догадываются, в какую сторону этот кусок будет выпуклым.

9. Есть пять одинаковых коробок, а также ложка, спичка, яблоко, банан и ключ. Все предметы распределили по коробкам и попросили 100 человек угадать, где что лежит. Оказалось, что 50 человек правильно не угадало ни одного предмета, 10 человек правильно угадали один предмет, ещё 10 человек правильно угадали два предмета, а 15 человек правильно угадало три предмета. Сколько человек правильно угадали четыре предмета, а сколько человек правильно угадали все пять предметов?
Комментарий
Данных на самом деле достаточно.

10, 11,… Ещё задачек можно найти в недавней хабрастатье «10 занимательных задач».

Программистские задачки

Если в вашей компании есть программисты, то можно заняться программированием на листочке.

1. Написать программу, которая печатает числа от 1 до 10000 не используя никаких сравнений.
Комментарий
Программа, тело которой состоит 10000 printf'ов, не является изящным решением.

2. В массиве интов все числа кроме одного повторяются два раза. Как за O(1) памяти и O(n) операций найти это число-одиночку?
Комментарий
Не нужно забывать про XOR.

3. В массиве интов есть число, которое встречается больше половины раз. Как за O(1) памяти и за один проход по массиву найти это число?
Ответ
На хабре была статья «Поиск часто встречающихся элементов в массиве» об этой задаче. Мне эта задача кажется сложной, но большинство людей, которым я эту задачу задавал, её решали.

4. Придумать ситуацию, когда следующий код напечатает NO:
if (v == v) {
    std::cout << "YES";
} else {
    std::cout << "NO";
}

Ответ
Например, v = NaN.

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

Игры на листочке бумаги

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

2. Если у вас есть листочек в клеточку, и надоело играть в морской бой, то можно сыграть в футбол. Правила просты: в середине коротких сторон листочка рисуем ворота размером в четыре клетки. В центре листка на пересечении линий рисуем мяч. Задача игроков — забить мяч в ворота противника. Игроки ходят по очереди, один ход — три клетки, траекторию можно в узлах сетки изгибать, рисовать линии можно только по прямой и по диагонали, но пересекать уже нарисованные линии нельзя. Если же кто-то из игроков походить не может, то противник бьёт «пенальти», т. е. рисует отрезок длиной в 8 клеток. Эта линия также может идти по прямой или по диагонали, изгибать её нельзя.
В отличие от многих игр на бумаге здесь больше экшна. Замечу, что интереснее играть ручками разных цветов и после каждого гола менять листочек.

3. Танчики — это ещё одна игра для двух человек на бумаге. Правила такие: лист сгибается посередине, затем разгибается. Каждый из игроков на своей половине рисует пять танчиков размером пять на пять миллиметров. После этого можно играть: первый игрок рисует на своей половине точку и сгибает лист. Если точка после сгибания оказалась внутри танчика противника, то танк считается убитым и игрок может перейти к уничтожению другого танка, если точка приходится на границу танка, то танк считается раненым, иначе же считается, что игрок промахнулся и ход передаётся следующему игроку. Кто первый уничтожил все танчики противника, тот и победил.
Лучше играть на листе без клеточек, если же есть только лист в клеточку, то сгибать его нужно не по линии. Оказывается, что не так просто с первого раза попасть по танчику, я обычно ошибаюсь на 2-5 миллиметров.

Гаражи-like игры

Если же нет ни ручек ни бумаги, то можно поиграть в гаражи и им подобные игры. Здесь главное условие, чтобы не все знали, что это за игра. У гаражей правила такие: берётся несколько небольших предметов, подойдёт всё что угодно: ложка, зажигалка, яблоко, стакан и т. п. Затем ведущий, знающий суть игры, выкладывает на столе какую-нибудь конфигурацию из этих предметов и говорит: «Это три», затем перемещает один или несколько предметов и говорит: «А это пять». Так повторяется ещё пару раз, затем складывается ещё какая-нибудь комбинация, и ведущий спрашивает: «А сколько это?» Все остальные должны понять правило, по которому по конфигурации из предметов определяется число. Если ещё не все отгадали, то снова приводятся примеры конфигураций и называются числа. Так может продолжаться минут 10-15. Игра очень интересна тем, что никакого правила нет, а называемое число — это количество пальцев, которыми ведущий касается стола.
Сколько раз не играл в эту игру, всегда идёт на ура. Если все знают гаражи, можно сыграть в «мы идём с тобой в поход», или в какую-нибудь подобную игру, таких игр достаточно много.

На этом всё, если вы знаете ещё какой-то способ весело и с пользой провести время в поезде, то расскажите в комментариях.

Да, чтоб два раза не вставать, знает ли кто-нибудь из хабражителей как с помощью пальцев, яблок, денег и т. п. объяснить, почему при умножении двух отрицательных чисел получается положительное? (Я знаю как это вывести из аксиоматики действительных чисел, но я не знаю какого-либо наглядного объяснения.)
Tags:
Hubs:
+55
Comments179

Articles