Литмир - Электронная Библиотека
Содержание  
A
A

Если при переходе к следующему члену последовательности вы будете брать сумму квадратов цифр (вместо того, чтобы брать сумму кубов), то все будет не намного лучше. Можете ли вы доказать следующую теорему: каково бы ни было натуральное число, взятое в качестве первого элемента последовательности, эта последовательность содержит число, не превосходящее 4?

? Головоломка 14. Теорема 6174. Построим последовательность натуральных чисел следующим образом. Начальный элемент — натуральное число с четырьмя цифрами, которые не все равны между собой. Мы переходим от данного члена последовательности к следующему но такому правилу.

Пусть a, b, c, d — четыре цифры, представляющие десятичную запись данного числа. Расположим их в порядке убывания слева направо и получим первое число. Расположим их в обратном порядке и вычтем это второе числа из первого. Это и есть искомый следующий член последовательности.

Теорема. Эта последовательность для любого начального элемента становится (начиная с некоторого места) постоянной, равной 6174.

Пример. Начнем с 7815:

8751 − 1578 = 7173

7731 − 1377 = 6354

6543 − 3456 = 3087

8730 − 0378 = 8352

8532 − 2385 = 6174

6174 − 1467 = 6174

Используйте ваш компьютер для доказательства этой теоремы. Это окажется намного проще, чем в предыдущей головоломке, поскольку имеется всего лишь 9000 чисел с четырьмя цифрами, и нужно исследовать 9000 последовательностей. Но вы можете сделать число испытаний намного меньше этого…

?? Головоломка 15. Господин S и господин P[7].

Вот одна из наиболее классических арифметических головоломок. Выберем два натуральных числа, больших единицы, но меньших ста. Значение их суммы сообщено господину S, значение их произведения — господину P. Ни один из них не знает, какое число сообщено другому. Господин P звонит господину S по телефону.

P. Я не могу найти эти два числа.

S. Я знаю, что вам это и не удалось бы.

P. Ах, так… Но тогда я их знаю!

S. Ну, тогда и я тоже их знаю!

Рассуждение позволяет существенно видоизменить задачу, и даже более того — предъявить решение. Много ли их? Используйте ваш компьютер, чтобы их найти.

Простые числа

??** Головоломка 16. Чемпион головоломок.

На мой взгляд, наиболее замечательная арифметическая головоломка, над которой мне пришлось особенно долго работать и которая дала мне возможность получить некоторые удовлетворительные результаты, — это, конечно, проблема простых чисел. Пусть дано число n (конечно, нечетное) и достаточно большое; сказать, является ли оно простым и, если можно, дать его разложение на простые множители.

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

n = p * q,

то либо p = q, либо один из сомножителей больше другого, так что можно считать, что p — делитель, q — частное и pq. Поэтому будем делить n на последовательно возрастающие простые числа, для которых частное больше или равно делителю. Так как мы не располагаем таблицей простых чисел, то используем последовательность Делителей, которая заведомо содержит все простые числа, например, последовательность нечетных чисел или лучше целых чисел вида 6k ± 1.

Число операций растет как квадратный корень из n. Если вы добавите к n одну цифру, то вы увеличите время вычисления примерно раза в три. Но более важно другое. Если вы увеличиваете n, вы можете превысить «арифметические способности» своего компьютера. Как вы узнаете, правильно ли выполнено деление? Предел, которого вы можете достичь таким образом, существенно зависит от марки вашего микрокомпьютера[8].

Таким образом, вы должны бороться со следующими трудностями:

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

— число требуемых операций;

— доверие к вашей программе. Если ваша машина сообщает вам, что

9873564383 = 631181 * 15643,

то вы, вероятно, сможете проверить этот результат на вашем микрокалькуляторе, А если компьютер сообщит вам, что 9873564401 — простое число, то как вы это проверите? Проделав вычисления на руках?

Вот основы метода Ж.-М. Полларда [POL].

По данному числу n (нечетному натуральному) строится последовательность по описанному ниже правилу:

— первый член последовательности равен 2;

— следующий за x элемент равен x² − 1 по модулю n (остатку от деления x² − 1 на n).

Оказывается, что эта последовательность периодична. Это легко видеть. Остаток от деления на n есть неотрицательное целое, меньшее n, поэтому не может быть более n различных остатков. Поэтому неизбежно, что как только число членов превысит n, среди членов последовательности мы получим два одинаковых, что и означает периодичность последовательности. Но она может оказаться периодической с намного более коротким периодом, чем n. Вот, например, последовательность для n = 137:

a1 = 2

a2 = 3

a3 = 8

a4 = 63

a5 = 132

a6 = 24

a7 = 27

a8 = 43

a9 = 67

a10 = 104

a11 = 129

a12 = 63 = a4

Последовательность периодична с периодом 8.

Пусть дана последовательность, вычисленная для некоторого n. Предположим, что n делится на s, и что соответствующая числу s последовательность периодична с периодом p.

Для достаточно большого i имеем ai+p = ai по модулю p, следовательно, ai+p ai делится на p. Так как, кроме того, и n делится на p, то наибольший общий делитель (НОД) чисел ai+pai и n отличен от 1[9].

Построим последовательность Полларда для n = 22879:

a1 = 2

a2 = 3

a3 = 8

a4 = 63

a5 = 3968

a6 = 4271

a7 = 6877

a8 = 2235

a9 = 7602

a10 = 20928

a11 = 8486

a12 = 11982

НОД чисел a12a4 и n = 22879 есть 137, делитель числа n.

Если мы способны сказать, становится ли данная последовательность периодической (головоломка 1), то мы располагаем быстрым методом определения, имеет ли данное число делитель. Можете играть. Это не такая уж простая программа…

Есть тест на простоту числа, основанный на так называемой малой теореме Ферма: если n — простое, причем число n не является делителем a, то

an−1 = 1 по модулю n.

Представим n в виде n = 2sm + 1. Назовем число n сильно псевдопростым по основанию a, если выполнено одно из следующих двух условий:

вернуться

7

S — первая буква слова «somme» (фр. сумма), P — слова «produit» (фр. произведение). — Примеч. ред.

вернуться

8

Да и от языка, который вы используете. — Примеч. ред.

вернуться

9

Повторим эти рассуждения чуть более подробно. Пусть

a1 = 2, ai+1 = ai² − 1 mod n,

b1 = 2, bi+1 = bi² mod s

— последовательности, соответствующие числам n и s соответственно. Тогда легко доказать по индукции, что bi = ai mod s. Одним из периодов последовательности {аi} является n. Значит, n является периодом и для последовательности {bi}. Известно, что любой период последовательности кратен ее минимальному периоду, Так как p, по определению, является минимальным периодом последовательности bi, то n делится на p. — Примеч. ред.

8
{"b":"243627","o":1}