Главная » Просмотр файлов » Д. Кнут - Искусство программирования том 2 (3-е издание) - 2001 (Часть 2)

Д. Кнут - Искусство программирования том 2 (3-е издание) - 2001 (Часть 2) (1119454), страница 93

Файл №1119454 Д. Кнут - Искусство программирования том 2 (3-е издание) - 2001 (Часть 2) (Д. Кнут - Искусство программирования том 2 (3-е издание) - 2001 (Часть 2)) 93 страницаД. Кнут - Искусство программирования том 2 (3-е издание) - 2001 (Часть 2) (1119454) страница 932019-05-09СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 93)

Примечательно, что 11 111 и 8616 460 799 (по модулю 3 7 8 11), поэтому уравнение (14) справедливо и для Л/ = 11 111 за исключением случая, когда мшбгль равен 5. Поскольку прн вычислении (х~ — Л') шос(5 остатки равны 4, О, 3, 3, О, должно быть х шоб 5 = О, 1 или 4. Первая проба х > [~/М] = 106, прн которой удовлетворяются все условия, дает х = 144; но вычисление квадратного корня из числа 144г-1, 111 = 9625 не дает в результате целое число. Однако следующая проба дает 156 — 11111 = 13'225 = 115э, и в результате получаем 111П = (156 — 115) (156+ 115) = 41 271, 6. Подсчитаем число решений (х,у) конгруэнтных уравнений Л' ш (х — у)(х+ у) (по модулю р), где 0 < х,у < р.

Поскольку К ф О, а р — простое число, то х+ у у( О. Для каждого е ф О существует единственное и (по модулю р), такое, что Ю ш пе. Далее, так как р — простое число, конгруэнтные уравнения х — у ш и, х+ у ш е однозначно определяют х пес(р и у шобр. Таким образом, укаэанное выше уравнение имеет точно р — 1 решений (х,у). Если (х,у) — решение, то (х,р — у) тоже является решением при у 14 О, так как (р — у)э ш уэ: и, если (х,уг) и (х,уг) — решения, для которых у~;4 уэ, то у, ш уэ, откуда у~ = р — уэ.

Таким образом, количество различных значений х среди решений (х, у) равно (р — 1)/2, если уравнение Ю ш тэ не имеет решений, или (р+ 1)/2, если Л ш хг имеет решения. 7. Одно из возможных решений состоит в там, чтобы для каждого модуля иметь два индекса; один — для адресации текущего слова, другой — для адресации текущего бита„ загрузка двух слов таблицы и выполнение индексированной команды сдвига подравняет элементы таблицы. (Такими операциями манипулирования битами оснащены многие компьютеры.) 8.

(Можно положить, что )г' = 2М, т. е. четно.) В следующем алгоритме используется вспомогателышя таблица Х[1], Х[2],..., Х[М], где в Л [Ь] отражен признак принадлевгно- сти числа 2Й'+ 1 к простым числам. $1. Присвоить Х[Ь] +- 1 для 1 < Ь < М. Присвоить также у г- 1, р г- 3, 9 э- 4. (В ходе выполнения этого алгоритма р = 22 + 1 и 9 = 22 + 2/э.) $2, Если Х[у] = О, то перейти к шагу Я4. В противном случае вывести р, которое является простым, и присвоить Ь +- д. $3.

Если Ь < М, то присвоить Х[Ь] +- О, Ь е- Ь+ р и повторить этот шаг. $4. Присвоить у +- 2 + 1, р г- р+ 2, 9 е- 9+ 2р — 2. Если / < М, то возвратиться к шагу Я2. 3 Можно заметна ускорить ббльшую часть вычислений, если иа пшге Я4 сравнить с М не у, а 9, н добавить новый цикл, который, подавляя манипуляции р и 9, выводит 2г'+ 1 для всех оставшихся ХЦ, равных 1.

Замечание. Оригинальное решето Эратосфена было описано в книге 1, главе 13 сочинений Никомаха (ЬВсашас)пш) Ьйгог(исг1оп га Аг!гйгпег(с. Хорошо известно, что [р < Х]/р = 1и 1и Л'+ М + О(()об М) ), где М = 7+ 2,' >з п(Ь) 1п ь(Ь)/Ь вЂ” константа Мертенса, равная 0,26149 72128 47642 78375 54268 38608 69585 905 ! 6; см. Г. Мшсепз, Сге!)е 76 (1874), 46-62; Сгеепе, Кпнгй, Ьуагйешвггсз (ог гбе Ала)узм ог" А)йогййгпэ (Выгон: ВпЫгйнзет, 1981), 54.2.3.

В частности, число операций, выполняемых оригинальным алгоритмом Ннкомаха, равно Х )и )и %+О(Х). В упр. 5.2.3-1о н разделе 7.1 рассматриваются пути повышения эффективности методов просеивания для генерирования простых чисел. 9. Если рз — делитель числа п для некоторого простого числа р, то р есть делитель числа Л(п), но не числа л — 1.

Если и = рсдрп где рг < рз —. все простые числа, то рг — 1 является делителем числа Л(п), н поэтому р~рз — 1 ш О (по модулю рг — 1). Посколькг рг ш 1, то р~ — 1 кратно рз — 1, но это протнворечнт предположению, что р~ < рз. [Значения и, для которых Л(п) есть собственный делитель числа п — 1, называются числами Кармапьла (Сагписйае!). Например, приведем несколько малых чисел Кармайкла, содер.каших бшям шести множителей: 3 11 17, 5 13 17, 7.11 13 41, о 7 17 19 73. 5 7 17 73 8к 107, Имыггся 8 241 число Кармайкла, меньшее 1О'г, н существует хотя бы ()(ХЮ~) чисел Кармвйкла„ меньшнх Ф [см.

Ж. В. А!Ыб, А. Сгапг!!!е, С, Рошегапсе, Авва!з оГМагЬ. (2) 139 (1994„ 703722[. 10. Пусть Ьг — порядок числа яр по модулю и н Л вЂ” наименьшее общее кратное всех таких Ьр. Тогда Л является делителем числа и — 1, но не делителем любого (и — !)/р, поэтому Л ы и-1.

Поскольку хр " шоб п = 1, то у(п) кратно Ьр для всех р: следовательно. гоп ы(п) > Л. Но Зг(п) < и — 1, если и — не простое число. (Другой способ доказательства заключается в том, что при помощи метода, рассмотренного в упр. 3.2.1.2-!5, из элементов хр строится элемент я, нмеющий порядок и — 1.) 11.

У К А Р о У Выход 1984 1 О 992 0 1981 1981 1 992 1 1981 1983 4 495 993 0 1 993~ ш +2~ 1983 991 2 98109 1 991 1981 4 495 2 0 1 2г и +2т 1984 1981 1 99099 1 1981 1984 1 1984 99101 0 1 99101з ш +2е Разложение 199 991 получается нз первых нлн последних выходных данных. Краткость никла н появление хорошо известного числа 1984 †э, вероятно, просто совпадение.

12. В следующем алгоритме используется вспомогательная (т + 1)х (т + 1)-матрнпа с целочисленными элементамн Еуы 0 < .у, Ь < ш, входной вектор (Ье, Ьп, Ь,~ ) с элементами однократной точности н вектор (хо,кп.,.,х ) с элементами многократной точности, заданными в интервале О < яь < Х.

Р1. [Начальная установка.) Присвоить Ь; е- -1 для 0 < ! < т; затем присвоить ! з- О. Г2. [Очередное решение ) Из алгоритма Е взять очередное решение (в, ее, ем .. е .). (Алгоритмы Е н Р удобно рассматривать как сопрограммы.) Присвоить 1 г- пь Р3.

[Найти нечетное число.) Если Ь < О, перейтн к шагу РЬ. В противном случае, елн еэ четно, присвоить й +- й — 1 н повторить этот шаг. Р4, [Векторы линейно завнснмы7) Если Ьэ > О, присвоить ( < — Ьь, з < — (х;х) шоб Х е, е- е„+ Ем для 0 < г < ш; присвоить Ь +- Ь вЂ” 1 н возвратнться к шагу ГЗ. В противном случае присвоить Ьь е- У, х, е- х, Ез, <- е, для 0 < т < пп прнсвонть,у +- г + 1 н возвратиться к шагу Р2. (В последнем случае получаем новое линейно независимое решенн» по модулю 2, первым нечетным компонентом которого является еь Значения Ел могут н не быть значениями однократной точности, но они, скорее всего, будут оставаться малыми при уменьшении й от нг до 1 согласно предположениям Моррисона (Могияоп) и Бриллхарта (Впйшгг),) Еб, (Попытаться выполнить разложение.) (Тепера ео, ем ..., е, четные,) Прнпвить у+- К-1)' гор"? р' ?г) по" Л'.

Если х = у нли х+ у м Л', возвратиться к шагу г 2. В противном случае вычислить бсб(х — у, Л'), который яэляетсл собственным делителем числа Л', и завершить эыполнение алгоритма. 3 Этот алгоритм находит простые множители, когда есть возможность найти множитель из чаннога набора результатов ачгоритма Е, (Докоэот«льсшво. Пусть результатами оыполюння алгоритма Е будут (Ха Е;о,..., Е, ) при 1 < 1 < Ь и положим, что удалось найти разложение на простые множители числа Х = Х1?гэ, когда выполняются соотношения х ш А,"'... Х и у ш (-Ц"г"р",? ...р,',„~ (по модулю Л), где е? м о ~ Е1 +" +о,ЕО четно для всех ?.

Тогда х и ху (по модулю Ю1) и х гя ~у (по модулю Лэ). Нетрудно увидеть, что это решение можно преобразовать а пару (х, у), которая паяяляется прн выполнении шага РЬ, путем выполнения ряда операций, на которых пары (х,у) последовательно ммеияются парами (хх, уу'), где х' ш ху' (по модулю Л').) 13. Имеется 2 значений величины х, имеющих одинаковые показатели степени (ео,...,е, ), поскольку, если Х = у?'... до", знак величины х по модулю уд можно выбирать произвольно. Множители отсутствуют точно для двух из этих 2 значений.

14. Поскольку Рэ ш ЬЛ1'„?э (по модулю р) для любого простого делителя р числа Ъ", получим 1 ш Рнр пг' гй (ЬЛ'1~э)~р 'уэ гя (Ь?ч)~р "~э (по модулю р) при Р ~ О, 13. К, = (а" -Ь")/чу, где о = -'(Р+ чу, Ь = 1(Р-ч/Р), Р = Р' — 4Я. Тогда 2" 'К, = 2 „(ы+,)Р" Р; поэтому Ьр гй Р~р и?' (по модулю р), если р — нечетное простое число.

Аналогично, если ܄— о +Ь вЂ” У„о1 — ЯУ„, то 2 1„= ') „( ')Р э"Р и Ур щ Рр ш Р. Таким абрахом, если Ьг ш -1, получаем, что У ~1 шобр = О. Если Ь?р ш 1, то (сгЦ, ~) шабр = О. Здесь, если Я кратно р, то У„ш Р" ' (по модулю р) для и > О, поэтому К, никогда не будет кратно р; если ь) пе кратно р, то Ьгр ~ шос) р = О, Поэтому, как ив теореме Ь, К шобЛ'= О, если Лг=рг'...р',", К.Ь 4) и С = 1сш1<?б (р?~ (р?+е?)) При предположениях нз этого упражнения ранг появления числа Л' раасн Х+ 1; значит, Х взаимно проста с Я, а Г кратно Х + 1, Кроме тога, из предположений этого упражнения следует, что каждое р? является нечетным и каждое е равно ш1, поэтому 1 < 2' 'Прг? (р?+ -эр?) 2(уэ)'Ю; следовательно, г = 1 н 1 = р +е1р" ,'.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6392
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее