компонента имеет значение, не предложенное ни одним из учеников. Ваша программа легко их найдет (такой набор в точности один). На этом основании мы узнаем правильность всех ответов на вопросы, остальное просто.
При всем том, это — головоломка для начинающих…
Головоломка 39.
Эта головоломка сопротивлялась мне много дней и была для меня очень поучительной. В условии сказано, что эта программа должна выполняться за время вычисления, пропорциональное
Я совершил ошибку, пойдя по этому пути. Я сказал себе: назовем
Если для некоторой пары
и, следовательно,
Если обобщить любое «начало» (левая часть)
И я таким образом не получил ничего. Это не означает утверждения, что на этом пути нельзя найти решения. Это я его не нашел.
Как я уже говорил, вы можете обратиться к математике за помощью в решении вашей задачи по информатике[28]. Но у информатики есть и свой собственный творческий дух. Почему бы ему не довериться? Эта задача сбивает вас с толку по причине ограничений на сложность алгоритма. Забудем их. Если вам сказано, что нужно решить задачу, и вам предоставлена свобода вплоть до максимальной сложности, что вы будете делать? Вы составите таблицу
Чтобы помочь вам, я предлагаю вам рассмотреть следующий вектор:
3 4 ?8 2 ?3 7 5 ?6 1
Образуйте треугольную таблицу чисел
(1, 1 : 3), (4, 4 : 5), (6, 6 : 9).
Следовательно, есть в точности
Закончить предоставляю вам.
Часть III. И если вы все еще не нашли решения
Многие игры или головоломки уже не требуют никаких дополнительных пояснений. Но некоторые из них еще могут вам сопротивляться. Поэтому следует сказать вам все…
1. Случайные числа
Головоломка 1.
Первая стратегия. Нужно сравнить
Положим
Если вы начинаете
Таким образом, получаем начало программы:
ПОКА
ВЕРНУТЬСЯ
Теперь вы получили два равных элемента. Чтобы получить период, нужно пройти интервал между полученными числами — например, начиная с
ПОКА
ВЕРНУТЬСЯ
Мне пришлось рассказать вам все…
Вторая стратегия. Начните с