5 интересных задач про цифры

У нас ино­гда выхо­дят задач­ки. Сего­дня — боль­шая жир­ная под­бор­ка задач о мате­ма­ти­ке и чис­лах. Для реше­ния доста­точ­но школь­ной про­грам­мы И ВАШЕГО НЕВЕРОЯТНОГО УМА.

Как выбрать банки

Сель­ское хозяй­ство на подъ­ёме, и вла­сти реши­ли под­дер­жать фер­ме­ра из Волог­ды, кото­рый тор­гу­ет моло­ком. Они ска­за­ли ему: «Мы зна­ем, что тебе нуж­но про­да­вать до 40 л моло­ка за раз, поэто­му вот тебе день­ги, купи любые четы­ре бан­ки, что­бы ты мог ими точ­но отме­рять 40 л или мень­ше, смот­ря сколь­ко нуж­но покупателю».

Фер­мер обра­до­вал­ся, но тут при­шёл Роспо­треб­над­зор и ска­зал: «Боль­ше одно­го раза моло­ко в бан­ку нали­вать и пере­ли­вать нель­зя, это неги­ги­е­нич­но. Учи­ты­вай это при выбо­ре тары». То есть при каж­дой про­да­же одно­му поку­па­те­лю каж­дую бан­ку допу­сти­мо исполь­зо­вать толь­ко один раз. Потом ёмко­сти мож­но мыть и при­ме­нять зано­во с новым покупателем.

Вопрос. Како­го объ­ё­ма бан­ки нуж­но купить фер­ме­ру, что­бы иметь воз­мож­ность отме­рить ими от 1 до 40 л, исполь­зуя любую из них толь­ко по одно­му разу?

Решение

Первая банка

Самый малень­кий объ­ём, кото­рый нам нужен — 1 л. Сра­зу купим эту бан­ку и посмот­рим, при­ве­дёт ли это нас к вер­но­му решению.

Вторая банка

Теперь мы с пер­вой ёмко­стью можем отме­рять 1 л, но не более. Надо доба­вить вто­рую бан­ку и исполь­зо­вать её по мак­си­му­му. Это зна­чит, что раз­ни­ца в объ­ё­ме меж­ду пер­вой и вто­рой ёмко­стя­ми долж­на быть как мож­но боль­ше. Про­ве­рим бан­ки на 2, 3 и 4 л.

  • Двух­лит­ро­вая. С её помо­щью мы можем отме­рить 1 л (пер­вой бан­кой), 2 л (вто­рой бан­кой) и 3 л (сум­ма пер­вой и вто­рой, обо­зна­чим как 1 + 2). Негусто.
  • Трёх­лит­ро­вая. Теперь мы отме­ря­ем 1 л (пер­вая бан­ка), 2 л (нали­ва­ем 3 л в боль­шую бан­ку, сли­ва­ем литр в малень­кую), 3 л (вто­рая бан­ка) и 4 л (3 + 1). Уже лучше.
  • Четы­рёх­лит­ро­вая. С ней мы не смо­жем отме­рить 2 л. Зна­чит, эта бан­ка нам не под­хо­дит и вто­рая ёмкость будет на 3 л.

Вывод: вто­рой мы поку­па­ем трёх­лит­ро­вую банку.

Третья банка

Мы уже уме­ем отме­рять 4 л дву­мя бан­ка­ми, а 5 л будем нали­вать уже тремя.

Раз нам нуж­на тара как мож­но боль­ше, нуж­но сде­лать так, что­бы 5 л у нас полу­чи­лось, когда мы из тре­тьей бан­ки забе­рём 4 л. Это мак­си­маль­ный объ­ём, кото­рый мы можем из неё взять пер­вы­ми дву­мя ёмко­стя­ми. Най­дём объ­ём тре­тьей банки:

4 + 5 = 9 (литров)

Про­ве­рим, сколь­ко лит­ров можем отме­рить эти­ми тре­мя банками:

5 л = 9 − 3 − 1 (отливаем всё из третьей в первые две)

6 л = 9 − 3

7 л = 9 − 3 + 1

8 л = 9 − 1

9 л = 9 (третья банка)

10 = 9 + 1

11 = 9 + 3 − 1

12 = 9 + 3

13 = 9 + 3 + 1 (наполняем все три банки)

Отлич­но, зна­чит, тре­тья бан­ка на 9 л нам подходит.

Четвёртая банка

Мы оста­но­ви­лись на 13 л, и нуж­но перей­ти к 14 л. Сно­ва при­ме­ним ту же так­ти­ку и поищем наи­боль­шую бан­ку, из кото­рой мож­но забрать 13 л, что­бы оста­лось 14:

13 + 14 = 27 (литров)

Про­ве­рим эту банку:

14 = 27 − 9 − 3 − 1 (отливаем всё в первые три)

15 = 27 − 9 − 3

16 = 27 − 9 − 3 + 1

17 = 27 − 9 − 1

18 = 27 − 9 (отливаем в третью)

19 = 27 − 9 + 1

20 = 27 − 9 + 3 − 1

21 = 27 − 9 + 3

22 = 27 − 9 + 3 + 1

23 = 27 − 3 − 1

24 = 27 − 3 (отливаем во вторую)

25 = 27 − 3 + 1

26 = 27 − 1 (отливаем в первую)

27 = 27 (четвёртая банка)

28 = 27 + 1 (четвёртая и первая)

29 = 27 + 3 − 1

30 = 27 + 3 (четвёртая и вторая)

31 = 27 + 3 + 1

32 = 27 + 9 − 3 − 1

33 = 27 + 9 − 3

34 = 27 + 9 − 3 + 1

35 = 27 + 9 − 1

36 = 27 + 9 (четвёртая и третья)

37 = 27 + 9 + 1

38 = 27 + 9 + 3 − 1

39 = 27 + 9 + 3

40 = 27 + 9 + 3 + 1 (заполняем все четыре банки)

Всё сошлось, и нам под­хо­дит чет­вёр­тая ёмкость на 27 л.

Ответ

Нам нуж­но купить бан­ки на 1, 3, 9 и 27 л. 

Захватят ли наноботы мир?

Нашу пла­не­ту ров­ным сло­ем покры­ва­ет боль­шая коло­ния бак­те­рий, кото­рые нахо­дят­ся бук­валь­но вез­де. Вне­зап­но в Скол­ко­ве изоб­ре­та­ют высо­ко­тех­но­ло­гич­ных нано­бо­тов, кото­рые име­ют спо­соб­ность само­вос­про­из­во­дить­ся при съе­да­нии этих бак­те­рий. Каж­дую секун­ду скол­ков­ский нано­бот пожи­ра­ет одну бак­те­рию и сра­зу делит­ся на два таких же нано­бо­та. Бак­те­рии про­сто пита­ют­ся под­нож­ным кор­мом и тоже каж­дую секун­ду делят­ся попо­лам, но про­сто так, сами по себе.

Захва­тят ли скол­ков­ские нано­бо­ты всю пла­не­ту, если вырвут­ся из не очень хоро­шо охра­ня­е­мых скол­ков­ских лабо­ра­то­рий и нач­нут раз­мно­жать­ся в дикой природе?

Решение

Эта зада­ча кра­си­во реша­ет­ся через обыч­ные школь­ные урав­не­ния, но для это­го нуж­но будет доба­вить два неизвестных.

Каж­дый нано­бот съе­да­ет по одной бак­те­рии и тут же делит­ся попо­лам, то есть на каж­дом шаге коли­че­ство нано­бо­тов удва­и­ва­ет­ся. А раз так, то удва­и­ва­ет­ся и коли­че­ство съе­да­е­мых бак­те­рий. Запи­шем, сколь­ко бак­те­рий съе­да­ет нано­бот на каж­дой секунде:

секун­да 0: 1 — пото­му что в самом нача­ле у нас один нанобот

секун­да 1: 2 × 1 — после пер­вой секун­ды нано­бо­тов ста­ло два, зна­чит, они съе­ли две бак­те­рии, каж­дый по одной

секун­да 2: 2 × 2 × 1 — нано­бо­ты сно­ва удво­и­лись и съе­ли по бактерии

Мы видим посто­ян­ное про­из­ве­де­ние дво­ек, а зна­чит, их мож­но пред­ста­вить в виде степени:

секун­да 0: 1 = 2 в нуле­вой степени

секун­да 1: 2 = 2¹

секун­да 2: 4 = 2²

* * *

T секун­да: 2 в сте­пе­ни Т

Мы выяс­ни­ли, как быст­ро раз­мно­жа­ют­ся нано­бо­ты и сколь­ко на каж­дой секун­де они съе­дят бак­те­рий. Теперь допу­стим, что когда на пла­не­те появил­ся один нано­бот, этих бак­те­рий уже было N штук. Тогда сно­ва обо­зна­чим вре­мя в секун­дах как Т и попро­бу­ем выяс­нить, сколь­ко бы полу­ча­лось бак­те­рий на каж­дой секун­де с учё­том наноботов:

секун­да 0: N — началь­ные условия

секун­да 1: 2 × (N − 1) — перед удво­е­ни­ем нано­бо­ты съе­ли одну бактерию

секун­да 2: 2 × [ 2 × (N − 1) − 2] — удва­и­ва­ем то, что было до это­го, и перед этим вычи­та­ем две съе­ден­ных бактерии

секун­да 3: 2 × { 2 × [ 2 × (N − 1) − 2] − 4} — сно­ва удва­и­ва­ем преды­ду­щее, не забы­вая вычи­тать съе­ден­ных бактерий.

Рас­кро­ем скоб­ки и про­дол­жим логи­че­ский ряд:

секун­да 0: N

секун­да 1: 2 × N − 2

секун­да 2: 2² × N − 8

секун­да 3: 2³ × N − 24

* * *

секун­да Т: (2 в сте­пе­ни Т) × N − (2 в сте­пе­ни T) × Т

Когда нано­бо­ты съе­дят всех бак­те­рий и захва­тят мир, наше послед­нее урав­не­ние ста­нет рав­но нулю. Запи­шем это:

(2 в сте­пе­ни Т) × N − (2 в сте­пе­ни T) × Т = 0

Пере­не­сём одну часть урав­не­ния вправо:

(2 в сте­пе­ни Т) × N = (2 в сте­пе­ни T) × Т

Видим, что в каж­дой части есть общий мно­жи­тель: (2 в сте­пе­ни Т). Сокра­тим его:

N = Т

Полу­ча­ет­ся, что нано­бо­там, что­бы съесть всех бак­те­рий, пона­до­бит­ся столь­ко секунд, сколь­ко бак­те­рий было на пла­не­те в момент стар­та. А раз вре­мя у нас не огра­ни­че­но, то в кон­це кон­цов нано­бо­ты дожу­ют всех бак­те­рий и ЗАХВАТЯТ ВЕСЬ МИР!

Про­ве­рим это для коло­нии из четы­рёх бактерий:

секун­да 0: 4 бак­те­рии и 1 нанобот

секун­да 1: 6 бак­те­рий и 2 нанобота

секун­да 2: 8 бак­те­рий и 4 нанобота

секун­да 3: 8 бак­те­рий и 8 наноботов

секун­да 4: 0 бак­те­рий и 16 наноботов

Реше­ние рабо­та­ет, нано­бо­ты победили! 

Делим неделимое

У ста­ри­ка было три сына. Перед смер­тью он оста­вил им завещание:

поло­ви­ну все­го иму­ще­ства — стар­ше­му сыну,
треть — среднему,
млад­ше­му — одну девятую.

Всё иму­ще­ство ста­ри­ка — 17 лоша­дей. Как поде­лить лоша­дей меж­ду бра­тья­ми, что­бы выпол­нить заве­ща­ние отца?

Эту зада­чу мож­но решить несколь­ки­ми спо­со­ба­ми, но есть одно клас­си­че­ское реше­ние и несколь­ко совре­мен­ных. Если вы нашли реше­ние, кото­рое здесь не опи­са­но, поздрав­ля­ем — вы гораз­до умнее, чем автор!

Решения

Классическое решение

Про­бле­ма здесь в том, что отец или не знал пра­ви­ла деле­ния, или был очень хит­рым, пото­му что если под­хо­дить к реше­нию пря­мо, то 17 лоша­дей не делят­ся поров­ну на 2, 3 и 9. Бли­жай­шее чис­ло, кото­рое это уме­ет делать — 18, но нам тогда не хва­та­ет одной лоша­ди. Но допу­стим, что пра­ви­ла он всё-таки знал, и решил про­сто про­ве­рить бра­тьев, как они вый­дут из этой ситуации.

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

Теперь у нас 18 лоша­дей, и мы можем делить наследство:

стар­ший — 18 : 2 = 9 лошадей

сред­ний — 18 : 3 = 6 лошадей

млад­ший — 18 : 9 = 2 лошади.

Полу­ча­ет­ся, что все­го у бра­тьев 9 + 6 + 2 = 17 лоша­дей, как раз столь­ко и заве­щал им отец! Восем­на­дца­тую лошадь, кото­рую мы одал­жи­ва­ли, и кото­рая не при­ни­ма­ла уча­стия в рас­чё­тах, мы про­сто воз­вра­ща­ем хозя­е­вам и бла­го­да­рим их за помощь.

Хит­рость и смекалка!

Прав­да, тут надо ска­зать, что в момент добав­ле­ния лоша­ди к отцов­ско­му иму­ще­ству его общий объ­ем изме­нил­ся, и мы, полу­ча­ет­ся, нару­ши­ли усло­вия зада­чи. Зато кони целы.

Логическое решение

Для нача­ла давай­те посчи­та­ем доли, кото­рые долж­ны достать­ся каж­до­му брату:

стар­ший — 1/2 = 9/18

сред­ний — 1/3 = 6/18

млад­ший — 1/9 = 2/18

Если сло­жить все доли, полу­чим 17/18. И как толь­ко мы в чис­ли­те­ле видим 17 — ров­но столь­ко, сколь­ко у нас лоша­дей — пони­ма­ем, что этим мож­но воспользоваться.

17/18 — это 17 лоша­дей, а это зна­чит, что:

9/18 — это 9 лоша­дей для старшего

6/18 — это 6 лоша­дей для среднего

2/18 — это 2 лоша­ди для младшего

В ито­ге мы поде­ли­ли все 17 лоша­дей точ­но по долям отца из завещания.

Логи­ка!

Математическое решение

Подой­дём к про­цес­су фор­маль­но и раз­де­лим 17 лоша­дей так:

стар­ше­му — 17 / 2 = 8,5 лошадей

сред­не­му — 17 / 3 = 5,6 лошадей

млад­ше­му — 1,88 лошадей

Если мы округ­лим все чис­ла до цело­го вверх, то полу­чим вер­ные 9, 6 и 2, как и в преды­ду­щем решении.

Если же отбро­сим дроб­ные части, то у бра­тьев будет 8, 5 и 1 лошадь, что в сум­ме даст 14. Осталь­ные три лоша­ди мы поров­ну поде­лим меж­ду бра­тья­ми, и у них сно­ва будет 9, 6 и 2 лоша­ди соответственно.

Мате­ма­ти­ка!

Рыночное решение

Есть ещё один спо­соб поде­лить наслед­ство — про­дать всех лоша­дей, а выруч­ку поде­лить меж­ду бра­тья­ми. Един­ствен­ное, что нуж­но учесть — что­бы сум­ма про­да­жи дели­лась одно­вре­мен­но на 2, 3 и 9 частей, ина­че будет так же, как с лошадьми.

Эко­но­ми­ка!

Бинарные мыши

В зада­че про мышей и испор­чен­ную пар­тию лекар­ства у нас было 10 мышей и 1000 про­би­рок. В одной из про­би­рок яд. Нуж­но было про­ве­рить, в какой про­бир­ке яд, за мини­маль­ное коли­че­ство дней.

Клас­си­че­ское реше­ние — начать делить про­бир­ки по коли­че­ству мышей. Напри­мер, сна­ча­ла раз­де­лить про­бир­ки на 10 групп по 100; взять из каж­дой по кап­ле; скор­мить мышам. Одна мышь умрёт — тогда эту груп­пу про­би­рок делим сно­ва на остав­ших­ся мышей. Так за три-четыре деле­ния мы най­дём про­бир­ку с ядом.

Но что если отрав­лен­ную про­бир­ку надо най­ти за одно изме­ре­ние? Воз­мож­но ли это?

Решение

Что­бы най­ти про­бир­ку с ядом за один день, нам надо при­звать на помощь дво­ич­ную систе­му счис­ле­ния. Но для нача­ла раз­бе­рём­ся с при­выч­ной — десятичной.

Десятичная система счисления

Она самая зна­ко­мая из всех, и мы ей поль­зу­ем­ся каж­дый день. В её осно­ве — 10 цифр, от 0 до 9, поэто­му она и назы­ва­ет­ся десятичной.

Мы поль­зу­ем­ся деся­тич­ной систе­мой, осо­бо не рефлек­си­руя. Напри­мер, мы видим чис­ло 436 — мы авто­ма­ти­че­ски его рас­кла­ды­ва­ем: четы­ре сот­ни + три десят­ка + шесть.

Толь­ко что мы раз­ло­жи­ли чис­ло на раз­ря­ды: 4 — это раз­ряд сотен, 3 — раз­ряд десят­ков, 6 — раз­ряд еди­ниц. Полу­ча­ет­ся, что:

436 = (4 × 100) + (3 × 10) + (6 × 1)

436 = (4 × 10²) + (3 × 10¹) + (6 × 10 в нуле­вой степени)

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

Двоичная система

Дво­ич­ная систе­ма — это то же самое, толь­ко вме­сто десят­ки — двой­ка. Вме­сто сте­пе­ней десят­ки мы исполь­зу­ем сте­пе­ни двой­ки. Вме­сто деся­ти цифр от 0 до 9 мы исполь­зу­ем две: 0 и 1. 

Что­бы пере­ве­сти чис­ла из дво­ич­ной систе­мы счис­ле­ния в деся­тич­ную, нуж­но то же самое, что и рань­ше: воз­во­дить двой­ку в сте­пень раз­ря­да и умно­жать на 0 или 1. Рас­смот­рим на примере:

Любое деся­тич­ное чис­ло мож­но пред­ста­вить в виде дво­ич­но­го, и наобо­рот. Теперь попро­бу­ем исполь­зо­вать это зна­ние в реше­нии задачи. 

Битовая глубина

У нас 1000 про­би­рок. Запи­шем это чис­ло в дво­ич­ной систе­ме счисления:

1000 в деся­тич­ной = 1111101000 в двоичной

Это мак­си­маль­ное чис­ло, кото­рое нам пона­до­бит­ся при нуме­ра­ции, и оно состо­ит из 10 нолей и еди­ниц. Полу­ча­ет­ся, что бито­вая глу­би­на реше­ния этой зада­чи — 10. А у нас как раз 10 мышей. Это и будем исполь­зо­вать при расчётах.

Немного магии

Зная, что у нас 10 бит на чис­ло, про­ну­ме­ру­ем каж­дую про­бир­ку таким образом:

1 — 0000000001

2 — 0000000010

3 — 0000000011

4 — 0000000100

...

999 — 1111100111

1000 — 1111101000

Затем рас­став­ля­ем мышей в клет­ки по поряд­ку, что­бы они нику­да не бега­ли и все­гда оста­ва­лись на сво­их местах. Пусть клет­ки сто­ят сле­ва направо. 

А теперь начи­на­ет­ся магия. Берём каж­дую про­бир­ку и смот­рим, на каких местах сто­ят еди­ни­цы. Мышам в этих клет­ках даём кап­лю вещества:

пер­вая про­бир­ка: 0000000001 — даём кап­лю мыши в самой пра­вой клетке

вто­рая про­бир­ка: 0000000010 — даём кап­лю мыши во вто­рой клет­ке справа

тре­тья про­бир­ка: 0000000011 — даём по кап­ле двум мышам из пер­вой и вто­рой кле­ток справа

чет­вёр­тая про­бир­ка: 0000000100 — даём кап­лю мыши тре­тьей клет­ке справа

...

999 про­бир­ка: 1111100111 — даём по кап­ле мышам из пер­вых пяти кле­ток сле­ва, про­пус­ка­ем две клет­ки, даль­ше капа­ем трём оставшимся

Таким обра­зом, каж­дая про­бир­ка полу­чи­ла свою уни­каль­ную ком­би­на­цию из мышей. И на сле­ду­ю­щий день, когда часть мышей умрёт, мы сра­зу узна­ем номер про­бир­ки с ядом: остав­ших­ся в живых мышей запи­шем как 0, а погиб­ших — как 1.

Напри­мер, наут­ро мы заме­ти­ли, что шесть мышей сле­ва и одна спра­ва живы, осталь­ные три мерт­вы. Запи­шем это в дво­ич­ной системе: 

0000001110

Пере­ве­дём вруч­ную или на каль­ку­ля­то­ре это в деся­тич­ную систе­му и полу­чим чис­ло 14. Это и есть номер нашей про­бир­ки с ядом.

В чём секрет

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

Хрустящая задача про наггетсы

Два школь­ни­ка, Женя и Костя, обе­да­ли в кафе. У Жени было с собой 4 наг­гет­са, а у Кости — 7. К ним подо­шёл одно­класс­ник Антон и пред­ло­жил пообе­дать вме­сте, а в кон­це он бы рас­пла­тил­ся за уго­ще­ние. Ребя­та согла­си­лись и раз­де­ли­ли 11 наг­гет­сов поров­ну на троих.

После обе­да Антон ска­зал «Ребя­та, у меня с собой как раз 110 руб­лей — смо­же­те раз­де­лить их меж­ду собой?». «Конеч­но» — отве­ти­ли дру­зья, после чего одно­класс­ник отдал им день­ги и ушёл.

Женя ска­зал, что раз дели­ли всё поров­ну, то и день­ги надо поде­лить поров­ну, то есть попо­лам — по 55 руб­лей каждому.

Костя в ответ ска­зал, что так нечест­но, и раз у Жени было 4 наг­гет­са, то он и полу­чит 40 руб­лей, а Костя за свои 7 дол­жен полу­чить 70 рублей.

Кто из ребят прав и почему?

Решение

Оба школь­ни­ка неправы.

Раз 11 наг­гет­сов раз­де­ли­ли поров­ну на тро­их, то каж­до­му доста­лось по 11/3 от всех наггетсов.

У Жени было 4 наг­гет­са: 4 = 12/3. Раз каж­дый съел по 11/3, то Анто­ну от Жени доста­лось все­го ⅓ наггетса.

У Кости наг­гет­сов было 7: 7 = 21/3. Он съел 11/3, а зна­чит 10/3 из сво­их запа­сов он отдал Антону:

21/3 − 11/3 = 10/3

Раз Антон тоже, как и все, съел 11/3 все­го обе­да и запла­тил за это 110 руб­лей, то полу­ча­ет­ся, что за каж­дую ⅓ он запла­тил по 10 руб­лей. Поэто­му нуж­но умно­жить вклад каж­до­го по ⅓ на 10, что­бы понять, сколь­ко денег ему причитается:

Жене — ( ⅓ / ⅓ ) × 10 = 1 × 10 = 10 рублей

Косте — (10 / 3 / ⅓ ) × 10 = 10 × 10 = 100 рублей