Игры с Чипом - [21]

Шрифт
Интервал

И большое на меньшее ты раздели,
И остаток ты меньшим теперь объяви,
А большим Н.О.Д. объяви ты теперь,
И к началу вернись, и в Евклида поверь!

— Ну, как я и думал, ничего непонятно, сплошные загадки, — уныло сказал Сережа.

— На то и загадки, чтобы их отгадывать. Ну, подумай сам, тут говорится про какое-то большое, меньшее и про Н.О.Д. Ты, конечно, догадался, Н.О.Д. — это и есть наибольший общий делитель двух чисел, который мы ищем.

— Ну, наверное, большое — это большее из этих двух чисел, а меньшее это меньшее. — Сережа несколько оживился. — Но потом непонятно: эти три числа меняются местами, делятся друг на друга, я не могу разобраться, что происходит?

— А знаешь, что должен делать программист, столкнувшись с алгоритмом, в котором он не может разобраться?

— Знаю, отложить его в сторону и пойти поиграть в футбол!

— Я сказал «программист, а не футболист»! Для программиста нет большего удовольствия, чем заставить программу работать. Программист отлаживает программу, то есть проверяет, как она работает, на известных ему примерах. Ну, скажем, ты знаешь, чему равен Н.О.Д. 12 и 30?

— Шести, — ответил Сережа, немного подумав, — 12 — это 2 х 6, а 30 — это 5 x 6.

— Итак, начинаем применять алгоритм Евклида. Малое — это 12, оно больше нуля, значит, повторяем: Н.О.Д. - 12, затем делим 30 на 12, получаем 2 и в остатке 6, значит, объявляем малым 6. Большим объявляем Н.О.Д., то есть 12, и возвращаемся к началу. Малое — это 6, оно больше 0, значит, повторяем снова: Н.О.Д. = 6, делим большое, то есть 12, на малое, то есть на 6, получаем ровно 2. Объявляем малым остаток, то есть малое теперь равно нулю. А большим объявляем Н.О.Д., то есть 6, и возвращаемся к началу. Но теперь малое равно нулю, а значит, повторять ничего не надо, мы уже нашли Н.О.Д. — это 6.

— Что-то не слишком быстро ты нашел ответ, — ехидно заметил Сережа, — я и то меньше думал.

— Долго было объяснять каждое действие, — сердито возразил Чип, — а потом любой алгоритм полезен только в достаточно сложных случаях. Вот посмотрим, как ты найдешь Н.О.Д. 256 и 288 без алгоритма Евклида, и потом сравним, насколько быстрее ты найдешь его с помощью алгоритма.

ОТ РЕДАКЦИИ:

Ребята, а вы не хотите помочь Сереже и тоже выполнить задание Чипа? Решите с помощью алгоритма Евклида пример:

>5   7

>— + — = ?

>16  12

и найдите Н.О.Д. 256 и 288. Ответы пришлите нам.

В № 10 за прошлый год Чип попросил вас составить программу «Приключений в джунглях». Ни одной правильной программы мы не получили. А из всех программ, что вы прислали для рекурсивной пословицы «Иван и Петр», правильная только программа Алисы Левандовской, ученицы 4 «А» класса школы № 45 г. Москвы.

«Я составила рекурсивную программу по образцу рекурсивной арабской сказки. Иван попал в рекурсивную ситуацию.


>Рекурсивная ситуация.

>Если в нее попал Иван, то Игорь — это Петр, Саша — это Иван.

>Если в нее попал Петр, то Игорь — это Иван, Саша — это Петр.

>Саша кивает на Игоря. Игорь попадает в рекурсивную ситуацию.

>Возврат.


Есть более короткий вариант этой программы:


>Рекурсивная ситуация.

>Иван кивает на Петра. Петр кивает на Ивана.

>Иван попадает в рекурсивную ситуацию.

>Возврат».


А можно было и так.


>Рекурсивная подпрограмма КИВАЕТ (Иван Петру).

>Иван кивает на Петра;

>в ответ КИВАЕТ (Петр Ивану).

>ВОЗВРАТ.


А чтобы эта программа не зациклилась, то есть не повторяла одно и то же без конца, можно вставить после первой строчки «Иван кивает на Петра» новую команду:


>СТОП! Их обоих гнать пора!


Команда «СТОП», вставленная в любом месте, останавливает всю работу. Хорошо бы и в жизни так можно было прервать любое бесполезное занятие.

Двадцать спичек и монета 

Сережа с Чипом играли в увлекательную игру «Двадцать спичек и монета». Кладутся подряд 20 спичек и 21-й — монетка. Дальше играющие по очереди берут спички, рассчитывая так, чтобы последним ходом забрать монетку. Надо только соблюдать два правила: во-первых, монетку нельзя брать первым ходом, а, во-вторых, если противник взял сколько-то спичек, то следующим ходом ты не можешь взять больше, чем это удвоенное число. Например, если он взял 5 спичек, то ты не можешь взять больше 10.

Сережу этой игре научил Чип и потому все время давал ему первый ход как новичку. И тем не менее каждый раз Сережа проигрывал, хотя он обычно хорошо играл в такие игры. Кое-какие секреты игры он понял: например, что невыгодно брать много спичек первым ходом, а если возьмешь больше 6, то противник берет монетку ответным ходом. Сережа брал по одной спичке, и в ответ Чип брал по одной, иногда по 2. Но выигрывал почему-то все время Чип!

— А знаешь, что делает в таком случае программист? — сказал Чип после 15-го выигрыша подряд. — Если он не может понять, как работает программа с большими числами, он проверяет ее на маленьких.

— Знаю, ты мне это уже говорил, — сердито буркнул Сережа. — Только при чем тут программа? Это же игра, а не алгоритм.

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

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


Рекомендуем почитать
Занимательное природоведение

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


Сказка об энтомологе Борнемиссе, или Как мухи чуть не съели Австралию

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


Этнос и глобализация: этнокультурные механизмы распада современных наций

Монография посвящена одной из ключевых проблем глобализации – нарастающей этнокультурной фрагментации общества, идущей на фоне системного кризиса современных наций. Для объяснения этого явления предложена концепция этно– и нациогенеза, обосновывающая исторически длительное сосуществование этноса и нации, понимаемых как онтологически различные общности, в которых индивид участвует одновременно. Нация и этнос сосуществуют с момента возникновения ранних государств, отличаются механизмами социогенеза, динамикой развития и связаны с различными для нации и этноса сферами бытия.


Система казачьего самоуправления в рамках российской государственности на примере Запорожской Сечи в середине XVII – конце XVIII вв.

«Современная Россия, являясь правопреемницей Советского Союза, сталкивается со многими проблемами, основанием для возникновения которых послужила крупнейшая геополитическая катастрофа XX века – распад СССР. Постепенно нарастают конфликты и противоречия в бывших советских республиках. Однако вместе с тем на постсоветском пространстве появляются и реализуются тенденции к экономической и военно-политической интеграции. Сложившаяся ситуация способствует тому, чтобы более серьезно обратиться к истории тех территорий, которые ранее входили в состав СССР, а до этого в состав Российской империи.


Расскажите сыну, как... Откровенно о сокровенном

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


Поговори со мной, мама! Развивающие занятия для малышей

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