Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[238]

Теорема 33.8 (Существование и единственность разложения) Всякое составное число а единственным образом представляется в виде

ei еоег

а = Plp22 -р/,

где pi < р2 < < рг - простые числа, а ег- - положительные целые числа.

Доказательство оставляется читателю (упр. 33.1-10).

Упражнения.

33.1-1

Докажите, что существует бесконечно много простых чисел. (Указание: ни одно из простых чисел pi,P2, ,Pk не делит число

(PiP2 • • -Рк) + 1-) 33.1-2

Докажите, что если а \ Ь и Ь с, то а \ с. 33.1-3

Пусть число р - простое, а 0 < к < р. Докажите, что НОД(к,р) = 1. 33.1-4

Докажите следствие 33.5. 33.1-5

Пусть число р - простое, а 0 < к < р. Докажите, что р Ср. Выведите отсюда, что для любых целых а, Ь и простого р выполняется сравнение

(а + Ь)р = ар + Ьр (modp).

33.1-6

Пусть а и Ь - целые числа, причём а \ Ь и Ь > 0. Докажите, что (ж mod Ъ) mod а = ж mod а при любом целом ж. Докажите, что (при тех же допущениях) из ж = у (mod Ъ) следует, что ж = у (mod а) при любых целых хну.

33.1-7

Фиксируем целое положительное к. Будем называть целое число п (точной) к-й степенью (Arth power), если п равно ак при некотором целом а. Целое число п > 1 назовём нетривиальной степенью (nontrivial power), если оно является к-ъ степенью при некотором целом к > 1. Предложите полиномиальный алгоритм, определяющий, является ли данное число п нетривиальной степенью.

33.1-8

Докажите свойства (33.8)-(33.12). 33.1-9

Докажите, что функция gcd ассоциативна, то есть для gcd(a, gcd(6, с)) = gcd (gcd (a, b), с) для любых целых a,b,c. 33.1-10*

Докажите теорему 33.8. 33.1-11


Предложите алгоритмы, вычисляющие за время 0(/32) частное и остаток от деления /3-битового целого числа на более короткое (временем считаем число битовых операций).

33.1-12

Постройте эффективный алгоритм, переводящий /3-битовое целое число из двоичной системы в десятичную. Покажите, что если умножение и деление двух целых чисел длины не более /3 (имеется в виду длина двоичной записи) требует времени М(/3), то перевод /3-битового целого числа из двоичной системы в десятичную может быть выполнен за время 0(М(/3) lg/3).

(Указание. Используйте метод «разделяй и властвуй», получая отдельно левую и правую части результата.)

33.2. Наибольший общий делитель

В этом разделе мы предполагаем, что все рассматриваемые целые числа положительны (для наибольшего общего делителя знак роли не играет).

Можно вычислять НОД(а,Ь), разлагая а и Ь на множители и отбирая общие множители: если

a = fyf-(33.13)

и

Ъ = р{1р{2 ... -р1/,(33.14)

то

gcd(a, b) = pm-(eb/0pmin(e2J2) pmin(er,/r)(33

Но разложение на множители, как мы увидим в разделе 33.9, является трудной задачей, так что его лучше избегать.

Алгоритм Евклида для нахождения наибольшего общего делителя основан на следующей теореме.

Теорема 33.9 (Рекуррентная формула для gcd)

Пусть а - целое неотрицательное, а Ь - целое положительное число. Тогда gcd (a, Ъ) = gcd (b, a mod b).

Доказательство.

Пара (a, b) имеет те же делители, что и пара (b, a mod b) (a mod b является целочисленной линейной комбинацией а и b и наоборот). Поэтому и наибольший общий делитель у этих пар одинаковый.

Алгоритм Евклида.

Приводимый ниже алгоритм вычисления наибольшего общего делителя описан в книге Евклида «Начала» (около 300 г. до Р.Х.), хотя, возможно, был известен и ранее. Мы запишем его в виде рекурсивной процедуры; её входом являются неотрицательные целые числа а и Ь.


Euclid (a,b)

1if b=0

2then return a

3else return Euclid (b, a mod b)

Например, при вычислении Euclid(30, 21) = Euclid(21.9) = Euclid(9, 3) = Euclid(3, 0) = 3 процедура вызывает себя трижды.

Правильность процедуры Euclid вытекает из соотношения (33.11) и из теоремы 33.9. Процедура не может работать бесконечно, поскольку рекурсивный вызов происходит с меньшим значением второго аргумента.

Время работы алгоритма Евклида.

Оценим время работы алгоритма Евклида, считая, что размера входа случай а > ft 0 (при ft > а 0 процедура Euclid (а, ft) первым делом вызывает себя, переставив аргументы местами, а при а = Ь > 0 работа процедуры завершается после единственного рекурсивного вызова, поскольку a mod а = 0). Заметим, что во всех рекурсивных вызовах первый аргумент будет строго больше второго (остаток меньше делителя).

Время работы процедуры Euclid пропорционально глубине рекурсии. Для её оценки нам пригодятся числа Фибоначчи Fk, определённые рекуррентным соотношением (2.13).

Лемма 33.10

Пусть а > Ь 0. Если процедура EucLm(a,ft) во время работы вызывает себя к раз (к 1), то a Fk+2 и ft ) Fk+\. Доказательство

проведём индукцией по к. Базисом индукции служит значение к = 1. Если происходит хоть один рекурсивный вызов, то Ь 1 = F2; по условию теоремы а > Ь, так что а 2 = F3.

Пусть лемма выполнена для случая к - 1 вызовов; докажем её для к вызовов. На первом шаге процедура Euclid (а, ft) выполняет вызов Euclid (b, a mod Ъ), внутри которого происходит к - 1 рекурсивных вызовов, так что по предположению индукции Ь -Ffc+i и (a mod Ъ) Fk- Из неравенства а > Ь > 0 следует, что [a/b\ 1 и Ь + (a mod Ъ) = Ь + (а - [a/b\b) а, так что а Ь + (a mod Ъ) Fk+1+Fk = Fk+2.

Из леммы 33.10 вытекает следующая теорема.

Теорема 33.11 (Теорема Ламе)

Пусть к - целое положительное число. Если й > ft 0 и ft < Fk+i, то процедура Euclid (a, ft) выполняет менее к рекурсивных вызовов.

Покажем, что оценка теоремы 33.11 неулучшаема, рассмотрев вычисление наибольшего общего делителя соседних чисел Фибоначчи. Процедура Euclid(F3, F2) выполняет один рекурсивный вызов. Поскольку Fk+i mod Fk = Fk-i, вычисление будет идти так: gcd(Ffc+i,Ffc) = gcd(Ffc, (Ffc+i mod Fk)) = ЯОД(,-1), поэтому



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51] [стр.52] [стр.53] [стр.54] [стр.55] [стр.56] [стр.57] [стр.58] [стр.59] [стр.60] [стр.61] [стр.62] [стр.63] [стр.64] [стр.65] [стр.66] [стр.67] [стр.68] [стр.69] [стр.70] [стр.71] [стр.72] [стр.73] [стр.74] [стр.75] [стр.76] [стр.77] [стр.78] [стр.79] [стр.80] [стр.81] [стр.82] [стр.83] [стр.84] [стр.85] [стр.86] [стр.87] [стр.88] [стр.89] [стр.90] [стр.91] [стр.92] [стр.93] [стр.94] [стр.95] [стр.96] [стр.97] [стр.98] [стр.99] [стр.100] [стр.101] [стр.102] [стр.103] [стр.104] [стр.105] [стр.106] [стр.107] [стр.108] [стр.109] [стр.110] [стр.111] [стр.112] [стр.113] [стр.114] [стр.115] [стр.116] [стр.117] [стр.118] [стр.119] [стр.120] [стр.121] [стр.122] [стр.123] [стр.124] [стр.125] [стр.126] [стр.127] [стр.128] [стр.129] [стр.130] [стр.131] [стр.132] [стр.133] [стр.134] [стр.135] [стр.136] [стр.137] [стр.138] [стр.139] [стр.140] [стр.141] [стр.142] [стр.143] [стр.144] [стр.145] [стр.146] [стр.147] [стр.148] [стр.149] [стр.150] [стр.151] [стр.152] [стр.153] [стр.154] [стр.155] [стр.156] [стр.157] [стр.158] [стр.159] [стр.160] [стр.161] [стр.162] [стр.163] [стр.164] [стр.165] [стр.166] [стр.167] [стр.168] [стр.169] [стр.170] [стр.171] [стр.172] [стр.173] [стр.174] [стр.175] [стр.176] [стр.177] [стр.178] [стр.179] [стр.180] [стр.181] [стр.182] [стр.183] [стр.184] [стр.185] [стр.186] [стр.187] [стр.188] [стр.189] [стр.190] [стр.191] [стр.192] [стр.193] [стр.194] [стр.195] [стр.196] [стр.197] [стр.198] [стр.199] [стр.200] [стр.201] [стр.202] [стр.203] [стр.204] [стр.205] [стр.206] [стр.207] [стр.208] [стр.209] [стр.210] [стр.211] [стр.212] [стр.213] [стр.214] [стр.215] [стр.216] [стр.217] [стр.218] [стр.219] [стр.220] [стр.221] [стр.222] [стр.223] [стр.224] [стр.225] [стр.226] [стр.227] [стр.228] [стр.229] [стр.230] [стр.231] [стр.232] [стр.233] [стр.234] [стр.235] [стр.236] [стр.237] [стр.238] [стр.239] [стр.240] [стр.241] [стр.242] [стр.243] [стр.244] [стр.245] [стр.246] [стр.247] [стр.248] [стр.249] [стр.250] [стр.251] [стр.252] [стр.253] [стр.254] [стр.255] [стр.256] [стр.257] [стр.258] [стр.259] [стр.260] [стр.261] [стр.262] [стр.263] [стр.264] [стр.265] [стр.266] [стр.267] [стр.268] [стр.269] [стр.270] [стр.271] [стр.272] [стр.273] [стр.274] [стр.275] [стр.276] [стр.277] [стр.278] [стр.279] [стр.280] [стр.281] [стр.282] [стр.283] [стр.284] [стр.285] [стр.286] [стр.287] [стр.288] [стр.289] [стр.290] [стр.291] [стр.292] [стр.293] [стр.294]