Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Mathematica 5. ╨б╨░╨╝╨╛╤Г╤З╨╕╤В╨╡╨╗╤М

.pdf
Скачиваний:
1
Добавлен:
19.11.2023
Размер:
33.75 Mб
Скачать

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

Пример 6.4. Наибольший общий делитель чисел, запись которых в десятичной систе­ ме состоит из т единиц и л единиц. Как известно, наибольший общий делитель чисел, запись которых в десятичной системе состоит из т единиц и л единиц, является чис­ лом того же вида, причем количество единиц в нем равно d = НОД(л, т). Выясним, сколько времени системе Mathematica понадобится для проверки этого утверждения для л, /л, не превосходящих 1000.

Вот нужные нам определения.

a l l l [ n j := (10Лп-1) /9 d:= GCD[n, т]

Теперь можно написать и программу.

Do [

 

Do [

m]]

If[G C D [alll[n], a l l l [ m ] ] ! = a l l l [ d ] , Pr i n t [ n , "

, {m,n-1}]

 

{n,1000}]//Timing

 

Проверка в пределах первой сотни занимает всего лишь 0,234 секунды, хотя при этом наибольшее число указанного в условии вида имеет 100 цифр! Проверка же в пределах первой тысячи у меня потребовала в 200 раз больше — 46,594 секунды. Что­ бы выполнить проверку в пределах первых пяти тысяч, потребуется 6879,67 секунды.

Пример 6.5. Наибольший общий делитель чисел ап-1 и ат- 1. Как известно, наи­

больший общий делитель чисел ап-1 и ат- 1, запись которых в системе счисления с

основанием а состоит из л цифр а - 1 и из т цифр а - 1 , является числом того же ви­

да, причем количество цифр а - 1 в нем равно d = НОД(л, т). Выясним, сколько вре­ мени системе Mathematica понадобится для проверки этого утверждения для л, /л, не превосходящих 1000.

Вот нужные нам определения.

ааа[а__,п_] :=алп-1 ; d:= GCD[n, m]

Теперь можно написать и программу.

Do [

Do[

Do[

If[GCD[aaa[n,a], aaa[m,a]] !=aaa[d], P r i n t [ n , " :",m ]] , {m,n-1} ] ,

{n,100} ] ,

{a, 100} ] //Timing

Для выполнения этой программы потребуется 19,797 секунды. Весьма впечатляю­ щий результат!

Пример 6.6. Наибольший общий делитель чисел Фибоначчи. Проверим, что наи­ больший общий делитель л-го и /л-ro чисел Фибоначчи равен числу Фибоначчи с номером */=НОД(л, т). Инымй словами, проверим, что НОД (Fibonacci [п], Fibonacci [m]) = Fibonacci [НОД (n,m) ]. Выясним, сколько времени системе

Mathematica понадобится для проверки этого утверждения для л, /л, не превосходящих

1000.

Вот нужное нам определение.

Арифметика: наибольший общий делитель...

171

d:= GCD[n, m]

Теперь м ож но написать и программу.

Do[

Do[

If[GCD[Fibonacci[n], Fibonacci[m]]!= Fibonacci[d],

Print[n,":",m]]

, (m,n-1}],

{n,1000}]//Timing

Для выполнения этой программы потребуется всего лишь 15,75 секунды.

Наибольший общий делитель в поле рациональных чисел

Наибольш ий общ ий делитель рациональных чисел

г{ , г2 ,

определяется как наи­

больш ее рациональное число г, такое, что все числа

гх/г, г2/г,

являются целыми.

Вот пример.

 

 

_1_

 

 

84

 

 

Наибольший общий делитель в кольце гауссовых чисел

Ф ункция GCD может найти наибольший общ ий делитель не только в кольце целых

чисел, но и в кольце целых гауссовых чисел.

G C D [21+28I, - 3 3 - 4 4 1 ] 3+4 I

Линейное представление наибольшего общего делителя — функция ExtendedGCD

В ряде задач необходим о найти не только наибольш ий общ ий делителЪ несколько

чисел, но и его представление в виде линейной комбинации этих чисел. Именно эту задачу решает функция ExtendedGCD. Функция ExtendedGCD [ /г,, п 2 , ...] возвращает

список {д , { гх , г2 , ...}}, такой, что g = GCD[ л ,, г ^ , ...] и g = щ + г2н2 + ... .Вот при­ меры.

{д , { г , s } }= E xten d ed G C D [n = 45,т= 36] { 9 , { 1 / - 1 } }

{д, {г, s } } = E x te n d e d G C D [2100 + 3 , З50 + 8]

{ 1 , { 6 2 0 1 3 7 8 2 8 9 2 3 5 1 7 7 8 7 5 0 3 7 4 , - 1 0 9 5 0 2 7 5 7 2 9 0 9 9 2 4 7 3 8 2 1 7 6 1 1 3 0 7 8 5 } }

Пример 6.7. Единица как линейная комбинация чисел Ферма. Так как числа Ферма являются взаимно простыми, их наибольший общ ий делитель равен единице. Выяс­ ним, как единица представляется в виде линейной комбинации соседних чисел Ферма.

Вот нужная нам функция.

Fer matNumber [ п _ ] : = 2 А ( 2 лп ) +1

Теперь м ож но написать и программу.

D o [ P r i n t [ n , " : " , E x te n d e d G C D [Ferm atNum ber [ n + 1 ] , Ferm atNum ber [n] ] ] , {n , 10} ]

172

Главеi

Результаты запишем в виде таблицы (табл. Б.ЗО).

Заметьте, что в таблице при п>1 числа гп заканчиваются цифрой 8, а числа sn

цифрой 1.

 

 

Пример 6.8. Единица как линейная комбинация чисел

2п-1 и -1 при взаимно

простых п и т . Так как числа 2п-1 и

-1 взаимно просты, если взаимно просты п

и т, то единицу можно представить

в виде линейной

комбинации чисел 2" -1 и

2т -1 при взаимно простых п и т . Выясним, до какого номера п (предполагая, что т<п) система Mathematica сможет в приемлемое время проверить взаимную простоту этих чисел.

Вот нужная нам функция.

fn[nj :=2Лп-1

Теперь можно написать и программу.

Do [

 

Do [

ExtendedGCD[fn[n],fn[m]]]]

If[GCD[n, m ]==1, P r i n t [ n , m ,

, {m,n-1}]

 

{n,10}]

 

Результаты запишем в виде таблицы (табл. Б.31).

Заметьте, что довольно часто в данной таблице встречается пара г = 1, s = —2. Это не случайно, поскольку при п = т+ 1 выполняется равенство - ( 2п- l) + 2 ( 2 m-1) = -1.

Пример 6.9. Линейное представление наибольшего общего делителя чисел, десятичная запись которых состоит из т единиц и п единиц. Наибольший общий делитель чисел, десятичная запись которых состоит из т единиц и п единиц, является числом того же вида, причем количество единиц в нем равно d = НОД(л, т). Выясним, как он пред­ ставляется в виде линейной комбинации.

Вот нужные нам определения.

all1[n_]:= (10лп-1)/9 d:= GCD[n, m]

Теперь можно написать и программу:

Do [

Do [

Print[n," m,":", ExtendedGCD[alll[n], alll[m]]] / {m,n-1}]

{n,10}]

Результаты представлены в табл. Б.32.

Заметьте, что десятичная запись чисел г и s в данной таблице содержит только цифры 0 и 1. Я не удивлюсь, если вы предположите, что это связано с наличием не­ которых полиномиальных тождеств и потому значения г и s получаются в результате подстановки 10 (основания системы счисления) в них. Например, строку таблицы

9

6

111

1

-1000'

можно истолковать так:

 

 

 

 

 

 

НОД = 111 = jr+jc + l

при х = 10;

 

111111111 =

11...19 = х8 + дс7 + д:6 + д:5 + дг4 + д:3 + JC2 + jt +1

при х = 10;

111111 = 11...16

= jc5+jt4+jt3+jt2+* + 1

п р и х =

10;

Арифметика: наибольший общий делитель...

173

 

s = -1000 = —x3 при x = 10;

поэтому

г = 1 = 1 (полином-константа);

 

х2 + х +1 = 1 • (х8 + х7 + хб + х5 + х4 + х3 + х2 + х +1) + (-х3) • (х5 + X4 + X3 + X2 + X +1)

при х =

10. Однако само это равенство выполняется при любом х, а не только при

х = 10.

Значит, в качестве г и s можно взять числа, имеющие точно такое же

представление в любой системе счисления, а не только в десятичной! Конечно, нали­ чие строки в таблице еще не означает автоматически тождественную справедливость соответствующего равенства, это лишь означает, что соответствующее равенство справедливо при х = 10. Поэтому вполне возможно, по крайней мере теоретически, что нам просто повезло. Если говорить честно, так оно и есть. Дело ведь в том, что по равенству d = ra+sb (<d = НОД(д, b)) числа г и s определяются неоднозначно: если d = ra+sb, то d = (r+b)a+(s—a)b и d = (r^b)a+(s+a)b. Иными словами, если d = ra+sb, то d= r'a+s'b (при r'= r+b и s,= s-a) и d — r"a+s"b (при r" = r~b и s” = s+a). Так что наличие строки еще не означает наличие тождества. Но, с другой стороны, числа г и j определяются однозначно, если на них наложить ограничения \г\<Ь и |.у|<д. Болес

того, все пары значений г и s можно получить, несколько раз выполняя переход от какой-либо пары фиксированных значений г0 и s0 к новой паре значений по

правилам г = г+b и s’= s—a или г = г -b и ^' = s+a.

Конечно, наличие полиномиальных тождеств сомнений не вызывает, ведь наи­

больший

общий

 

делитель

полиномов

(х) =

х""1+ хя_2 + хя_3 +... + х +1

и

b(x) =

хт"‘ + хя,_2 + хя,"‘3 + ... + х + 1

равен

d(x) = xd~l + xd~2 + xJ~* + ... + х +\ ,

где

d = НОД(л, т).

он

представим

в

виде

линейной

комбинации

Так

 

как

а(х) =

хяЧ+хя' 2+хя“3+ ... + х+1

и Ь(х) = х""| + х"“2 + х"“3 + ... + х + 1, то имеет место ра­

венство d(x) = г(х)я(х)+.у(х)6(х). Более того, полиномы г(х) и s(x) можно выбрать так, чтобы deg г{х)<т и deg s(x)<n. Проблема, собственно, состоит вот в чем. По числам а

и b мы без труда восстановили полиномы а(х) = хя1 +хя"2 + х я"3+ ... + Х +1 к

b(x) = xw4+xm~2+ xm~3 + ...+x + l , но можем ли мы так же просто восстановить и по­ линомы г(х) и J (X)?

Предположим теперь, что для равенства d = ra+sb (d = НОД(я, b)) с \r\ <b и |j| <a

мы написали равенство полиномов того же типа, что и приведенное выше. Запишем

это

равенство

в

виде

d(x) = r(x)a(x)+s(x)b(x).

Разумеется,

здесь

а(х) = хя_| + хя"2 + хя"3 +... + х +1 и

Ь(х) = Xя'"1+ хт”2 + хт_3 +... + х +1 .Поскольку

|г| <Аи

|s| <а> то deg г(х)<т и

 

deg s(x)<n,

а потому правая часть найденного тождества есть

полином степени не выше т+п. Тогда, как известно, чтобы проверить написанное равенство, достаточно проверить его при т+п+1 значении х. (Конечно, такую проверку совсем несложно запрограммировать в системе Mathematica.) Но можно поступить и иначе. Достаточно убедиться, что представление г и s будет одинаковым для т+п+1 значений основания системы счисления. (Ведь фактически это будет означать, что равенство полиномов степени не выше т+п выполняется при т+п+1 значении х.) Именно таким способом мы и поступим в следующем примере. (Вопрос о том, есть ли среди найденных представлений такие, которые основаны не на полиномиальных тождествах, намеренно оставляю открытым. Впрочем, вот подсказка: ответ знают некоторые студенты мехмата уже на первом семестре. Я, конечно, совсем не имел в виду, что это написано в учебниках или обязательно излагается на лекциях но догадаться можно.)

/

174

Гпаев 5

Пример 6.10. Линейное представление наибольшего общего делителя чисел a* -vl и

ам- 1. Наибольший общий делитель чисел ап -1 и ат- 1 , запись которых в системе

счисления с основанием а состоит из п цифр а - 1 и из т цифр а - 1 , является чис­

лом того же вида, причем количество цифр а - 1 в нем равно d = НОД(л, т). Выяс­

ним, как наибольший общий делитель чисел а" - \ и ат-1 представляется в виде их линейной комбинации.

Вот нужные нам определения.

ааа[а_, п_] :=аАп-1; d:= GCD[п, гп]

Теперь можно написать и программу. Нужно только не забыть о том, что пред­ ставление г и s лучше всего получить в системе счисления с основанием а. Для этого вполне подойдет функция integerDigits. Она, правда, теряет знак числа, так что егопридется печатать отдельно.

Do [ Do [

Do [

{{g,{r,s}}= ExtendedGCD[aaa[a,n], aaa[a,m]], Print ["###", n, m , d , a, If[g<0,Print!"-"]], Print[IntegerDigits[g,a], ":"], If[r<0,Print["-M]], Print[IntegerDigits[r,a], ":"], If[s<0,Print["-"]], Print[IntegerDigits[s,a]] }

, {a,2,n+m+2}], {m,n-l}],

{n,10} ]

Заметьте, что в программе вставлена печать ### для удобства форматирования ре­ зультатов.

Скажу сразу, что более скучной таблицы я, наверное, никогда не видел! И все из-за удивительного постоянства г и 5! Представление г и s выглядит одинаково в системах счисления с разными основаниями, и потому их представления просто повторяются во многих строках! Это значит, что представление наибольшего общего делителя дей­ ствительно основано на полиномиальных тождествах вида d(x) = г(дс)д(х)+5(х)й(х), причем полиномы г{х) и s(x) легко восстанавливаются по числам г и 5! Конечно, я из­ бавлю вас от демонстрации всего этого и просто приведу некоторые наиболее характер­ ные строки таблицы. Разумеется, большинство строк я опустил, и таблица содержит пропуски. Они обозначены строками с многоточиями. Чтобы развеять сомнения, дос­ таточно взглянуть вот на это.

Арифметика: наибольший общий делитель...

175

Линейное представление наибольшего общего делителя чисел а" 1 и ат— 1

НОД= r ( a n- l ) +s ( a m- l)

п

т

d = НОД

Основание

Цифры НОД

 

 

( п , т )

системы

в системе

 

 

 

счисления

счисления с

 

 

 

а

основанием

 

 

 

 

а

2

1

1

2

{1}

2

1

1

3

{2}

2

1

1

4

{3}

2

1

1

5

{4}

3

1

1

2

{1}

3

1

1

3

{2}

3

1

1

4

{3}

3

1

1

5

{4}

3

1

1

6

{5}

3

2

1

2

I1 *

3

2

1

3

{2}

3

2

1

4

<3}

3

2

1

5

{4}

3

2

1

6

{5}

3

2

1

7

{6}

4

1

1

2

{1}

4

1

1

3

{2}

4

1

1

4

{3}

4

1

1

5

{4}

4

1

1

6

{5}

4

1

1

7

{6}

4

2

2

2

{ 1 , 1 }

4

2

2

3

{ 2 , 2 }

4

2

2

4

{ 3 , 3 }

4

2

2

5

{ 4 , 4 }

4

2

2

6

{ 5 , 5 }

4

2

2

7

{ 6 , 6 }

4

2

2

8

{ 7 , 7 }

4

3

1

2

{1}

4

3

1

3

{2}

4

3

1

4

{3}

4

3

1

5

{4}

4

3

1

6

{5}

4

3

1

7

{6}

4

3

1

8

{7}

Цифры г

в системе счисления

соснованием а

{0}

{0}

{0}

{0}

{0}

{0}

{0}

{0}

{0}

{1}

{1}

{1}

{1}

{1}

{1}

{0}

{0}

{0}

{0}

{0}

{0}

{0}

{0}

{0}

{0}

{0}

{0}

{0}

{1}

{1}

{1}

{1}

{1}

{1}

{1}

Цифры s в системе

счисления

соснованием а

{1}

{1}

{1}

{1}

{1}

{1}

{1}

{1}

{1}

-{ 1 , 0 }

-{ 1 , 0 }

-{ 1 , 0 }

-{ 1 , 0 }

-{ 1 , 0 }

-{ 1 , 0 }

{1}

{1}

{1}

{1}

{1}

{1}

{1}

{1}

{1}

{1}

{1}

{1}

{1}

-{ 1 , 0 }

-{ 1 , 0 }

-{ 1 , 0 }

-{ 1 , 0 }

-{ 1 , 0 }

-{ 1 , 0 }

-{ 1 , 0 }

176

Гпава 6

п

т

с/= НОД

Основание

Цифры НОД

Цифры г

 

 

(Л, т)

системы

в системе

в системе

 

 

 

счисления

счисления с

счисления

 

 

 

а

основанием

с основанием а

 

 

 

 

а

 

4

3

1

9

{8}

{1}

5

2

1

2

{1}

{1}

5

2

1

3

{2}

{1}

5

2

 

4

{3}

{1}

5

2

1

5

{ 4}

{1}

5

2

1

6

{5}

{ 1}

5

2

1

7

{ 6}

{1}

5

2

1

8

{7}

{1}

5

2

1

9

{8}

{1}

5

3

1

2

{1}

- { 1 , 0 }

5

3

1

3

{2}

- { 1 , 0 }

5

3

1

4

{3}

- { 1 , 0 }

5

3

1

5

\ 4 }

- { 1 , 0 }

5

3

1

6

{5}

- { 1 , 0 }

5

3

1

7

{6}

- { 1 , 0 }

5

3

1

8

{7}

- { 1 , 0 }

5

3

1

9

{8}

- { 1 , 0 }

5

3

1

10

{9}

- { 1 , 0 }

5

4

1

2

{1}

{1}

5

4

1

3

{2}

{1}

5

4

1

4

{3}

{1}

5

4

1

5

{4}

{1}

5

4

1

6

{5}

{1}

5

4

1

7

{6}

{1}

5

4

1

8

{7}

{1}

5

4

1

9

{8}

{1}

5

4

1

10

{9}

{1}

5

4

1

11

{ 10}

{1}

7

2

1

2

{1}

{1}

7

2

1

3

{2}

{1}

7

2

1

4

{3}

{1}

7

2

1

5

{4}

{1}

7

2

1

6

{5}

{1}

7

2

1

7

{6}

{1}

7

2

1

8

{7}

{1}

Цифры s в системе

счисления

соснованием а

-{ 1 , 0 }

-{ 1 , 0 , 1 , 0 }

-{ 1 , 0 , 1 , 0 }

-{ 1 , 0 , 1 , 0 }

-{ 1 , 0 , 1 , 0 }

-{ 1 , 0 , 1 , 0 }

-{ 1 , 0 , 1 , 0 }

-{ 1 , 0 , 1 , 0 }

-{ 1 , 0 , 1 , 0 }

{1 , 0 , 0 , 1 }

{1 , 0 , 0 , 1 }

{1 , 0 , 0 , 1 }

{1 , 0 , 0 , 1 }

{1 , 0 , 0 , ! }

{1 , 0 , 0 , 1 }

{1 , 0 , 0 , 1 }

{1 , 0 , 0 , 1 }

{1 , 0 , 0 , 1 }

-{ 1 , 0 }

-{ 1 , 0 }

-{ 1 , 0 }

-{ 1 , 0 }

-{ 1 , 0 }

-{ 1 , 0 }

-{ 1 , 0 }

-{ 1 , 0 }

-{ 1 , 0 }

-{ 1 , 0 }

-{ 1 , 0 , 1 , 0 , 1 , 0 }

10 1 о н о

1 —1 —1

-{ 1 , 0 , 1 , 0 , 1 , 0 }

-{ 1 , 0 , 1 , 0 , 1 , 0 }

-{ 1 , 0 , 1 , 0 , 1 , 0 }

-{ 1 , 0 , 1 , 0 , 1 , 0 }

-{ 1 , 0 , 1 , 0 , 1 , 0 }

Арифметика: наибольший общий делитель..

177

9 BSBUj

f оо-о-Г 1—1(1

{ T ' O' O' T' O' T} { T' O' O' T' O' T} ( T ' O ' O ' T ' O ' T ) d ' O ' O ' l ' O ' ! } { T ' O ' O ' T ' O ' T ) { T ' O' O' T' O' T} { T ' O' O' T' O' T} { T ' O' O' T' O' T} { T' O' O' T' O' T} ( T ' O ' O ' T ' O ' T )

( T ' O' O' O' T ) { T ' O' O' O' T) ( T' O' O' O' T ) { T' O' O' O' T} ( T' O' O' O' T ) ( T ' O' O' O' T ) ( T ' O' O' O' T )

( T ' O ' O‘' O ' T )

( T ' O' O' O' T ) ( T ' O' O' O' T ) ( T' O' O' O' T ) ( T ' O' O' O' T )

( O ' T ' O ' O ' T ) - ( O ' T ' O ' O ' T ) - { O ' T ' O ' O ' T } - ( O ' T ' O ' O ' T ) - ( O ' T ' O ' O ' T ) - ( O ' T ' O ' O ' T ) - ( O ' T ' O ' O ' T ) - ( O ' T ' O ' O ' T ) - ( O ' T ' O ' O ' T ) - ( O ' T ' O ' O ' T ) - ( O ' T ' O ' O ' T ) -

( O ' T ' O ' T ' O ' T ) - ( O ' T ' O ' T ' O ' T ) - ( O ' T ' O ' T ' O ' T ) -

e иэинеаонэо о винаиэиьэ ЭИЭ1ЭИЭ 8 S 1ЯС1фиЦ

{О' Т ' О' Т } - ( О ' Т ' О ' Т ) - ( О ' Т ' О ' Т ) - ( О ' Т ' О ' Т ) - ( О ' Т ' О ' Т ) - ( О ' Т ' О ' Т ) - ( О ' Т ' О ' Т ) -

{О ' Т ' О ' Т } - ( О ' Т ' О ' Т ) - ( О ' Т ' О ' Т ) -

{О ' Т ' О ' Т } - (0 ' т } —

(0 ' Т) - ( О ' Т ) - ( О ' Т ) - ( О ' Т ) -

{О' Т} - ( О ' Т ) - ( О ' Т ) -

{О' Т} - ( О ' Т ) - ( О ' Т ) - ( О ' Т ) - {Т} {Т}

{Т}

{Т}

{Т}

{Т}

{Т}

{Т}

{Т}

{Т"}

1{Т}

{Т}

{Т}

{Т}

ешэинеаонэоэ

винаиэиьэ

эиэхэиэ а

j 1яафи^

ITT}

г т

(ОТ)

11

{6}

ОТ

{8}

6

[ О

8

{9}

L

{9}

9

i b)

5

{ е }

b

{ г }

е

' { т }

г

( г т )

ет

{ ТТ}

г т

( о т )

ТТ

{6}

от

{8}

6

{ L }

8

{9}

L

{9}

9

{ И

9

{ £}

b

U )

Е

{Т}

г

{ТТ}

г т

(ОТ)

ТТ

{6}

от

{8}

6

U )

8

{9}

L

{9}

9

i b)

9

{£}

b

i z )

Е

{Т}

г

(ОТ)

ТТ

{6}

от

{8}

6

в

в

шэинеаонэо

Э НИНЭНЭИЬЭ

винаиэиьэ

эмэлэиэ а

1Я1Л1Э1ЭИЭ

ВОН 1чс1фиП

эи н е а о н э о

 

 

8 U

т

с

L

т

с

•_

-

9

L

 

Т

с

L

т

с

L

I

с

L

т

9

L

I

с

L

т

с

L

т

9

L

т

9

L

т

b

L

т ч

Ь

L

т

Ь

L

т

b

L

т

b

L

т

b

L

т

b

L

т

b

L

т

b

L

т

b

L

I

b

L

т

b

L

т

E

L

т

E

L

т

E

L

т

E

L

т

E

L

т

E

L

т

E

L

т

E

L

т

E

L

т

E

L

т

E-

L

т

г

L

т

г

L

т

г

L

‘и )

ш

U

ООН =Р

п

т

d= НОД

Основание

Цифры НОД

Цифры г

 

 

(п,т)

системы

в системе

в системе

 

 

 

счисления

счисления с

счисления

 

 

 

а

основанием

с основанием а

 

 

 

 

а

 

7

5

1

13

{ 1 2 }

- { 1 , 0 , 1 , 0 }

7

5

1

14

{ 13}

- { 1 , 0 , 1 , 0 }

 

...

 

 

 

 

8

3

1

2

{1}

- { 1 , 0 }

8

3

1

3

{2}

- { 1 , 0 }

"8

3

1

4

{3}

- { 1 , 0 }

8

3

1

5

{4}

- { 1 , 0 }

8

3

1

6

{ 5}

- { 1 , 0 }

8

3

1

7

{6}

- { 1 , 0 }

8

3

1

8

{7}

- { 1 , 0 }

8

3

1

9

{8}

- { 1 , 0 }

8

3

1

10

{ 9}

- { 1 , 0 }

8

3

1

11

{ 10}

- { 1 , 0 }

8

3

1

12

{ 11}

- { 1 , 0 }

8

3

1

13

{ 1 2 }

- { 1 , 0 }

8

5

1

2

{1}

{ 1 , 0 , 0 , 1 }

8

5

1

3

{2}

{ 1 , 0 , 0 , 1 }

8

5

1

4

{ 3}

{ 1 , 0 , 0 , 1 }

8

5

1

5

{4}

{ 1 , 0 , 0 , 1 }

8

5

1

6

{5}

' { 1 , 0 , 0 , 1 }

8

5

1

7

{6}

{ 1 , 0 , 0 , ! }

8

5

1

8

{7}

1—* о о I-*

8

5

1

9

{8}

{ 1 , 0 , 0 , 1 }

8

5

1

10

{9}

{ 1 , 0 , 0 , 1 }

8

5

1

11

{ 1 0 }

{ 1 , 0 , 0 , 1 }

8

5

1

12

{ 11}

{ 1 , 0 , 0 , 1 }

8

5

1

13

{ 1 2 }

{ 1 , 0 , 0 , 1 }

8

5

1

14

{ 1 3 }

{ 1 , 0 , 0 , 1 }

8

5

1

15

{ 14}

{ 1 , 0 , 0 , 1 }

10

6

2

2

{ 1 , 1 }

- { 1 , 0 , 0 }

10

6

2

3

{ 2 , 2 }

- { 1 , 0 , 0 }

10

6

2

4

{3,3}

- { 1 , 0 , 0 }

10

6

2

5

{4,4}

- { 1 , 0 , 0 }

10

6

2

6

{5,5}

- { 1 , 0 , 0 }

10

6

2

7

{6,6}

- { 1 , 0 , 0 }

Цифры s в системе счисления

соснованием а

{1 , 0 , 1 , 0 , 0 , 1 }

{1 , 0 , 1 , 0 , 0 , 1 }

{1 , 0 , 0 , 1 , 0 , 0 , 1 }

{1 , 0 , 0 , 1 , 0 , 0 , 1 }

{1 , 0 , 0 , 1 , 0 , 0 , 1 }

{1 , 0 , 0 , 1 , 0 , 0 , 1 }

{1 , 0 , 0 , 1 , 0 , 0 , 1 }

{1 , 0 , 0 , 1 , 0 , 0 , 1 }

{1 , 0 , 0 , 1 , 0 , 0 , 1 }

{1 , 0 , 0 , 1 , 0 , 0 , 1 }

{1 , 0 , 0 , 1 , 0 , 0 , 1 }

{1 , 0 , 0 , 1 , 0 , 0 , 1 }

{1 , 0 , 0 , 1 , 0 , 0 , 1 }

{1 , 0 , 0 , 1 , 0 , 0 , 1 }

- { 1 , 0 , 0 , 1 , 0 , 1 , 0 } - { 1 , 0 , 0 , 1 , 0 , 1 , 0 } - { 1 , 0 , 0 , 1 , 0 , 1 , 0 } - { 1 , 0 , 0 , 1 , 0 , 1 , 0 } - { 1 , 0 , 0 , 1 , 0 , 1 , 0 } - { 1 , 0 , 0 , 1 , 0 , 1 , 0 } - { 1 , 0 , 0 , 1 , 0 , 1 , 0 } - { 1 , 0 , 0 , 1 , 0 , 1 , 0 } - { 1 , 0 , 0 , 1 , 0 , 1 , 0 } - { 1 , 0 , 0 , 1 , 0 , 1 , 0 }

- { 1 , 0 , 0 , 1 , 0 , 1 , 0 1

ьооноо ---1 11

- { 1 , 0 , 0 , 1 , 0 , 1 , 0 }

о—1о—1оогЧ1 11

{ 1 , 0 , 0 , 0 , 0 , 0 , 1 } { 1 , 0 , 0 , 0 , 0 , 0 , 1 } { 1 , 0 , 0 , 0 , 0 , 0 , 1 1 { 1 , 0 , 0 , 0 , 0 , 0 , 1 } { 1 , 0 , 0 , 0 , 0 , 0 , 1 } ( 1 , 0 , 0 , 0 , 0 , 0 , 1 1

Арифметика: наибольший общий делитель...

179

п

т

d = НОД

Основание

Цифры НОД

 

 

( п , т )

системы

в системе

 

 

 

счисления

счисления с

 

 

 

а

основанием

 

 

 

 

а

10

6

2

8

{ 7 , 7 }

10

б

2

9

{ 8 , 8 }

10

6

2

10

{9,9}

10

б

2

11

{ 1 0 , 1 0 }

10

б

2

12

{ 1 1 / 1 1 }

10

6

2

13

{ 1 2 , 1 2 }

10

б

2

14

{ 1 3 , 1 3 }

10

6

2

15

{ 1 4 , 1 4 }

10

б

2

16

{ 1 5 , 1 5 }

10

6

2

17

{ 1 6 , 1 6 }

10

б

2

18

{ 1 7 , 1 7 }

10

7

1

2

{1}

10

7

1

3

{2}

10

7

1

4

{3}

10

7

1

5

{4}

10

7

1

б

{5}

10

7

1

7

{6}

10

7

1

8

{7}

10

7

1

9

{8}

10

7

1

10

{9}

10

7

1

11

{ 1 0 }

10

7

1

12

{ 1 1 }

10

7

1

13

{ 1 2 }

10

7

1

14

{ 13}

10

7

1

15

{ 1 4 }

10

7

1

16

{ 1 5 }

10

7

1

17

{ 1 6 }

10

7

1

18

{ 1 7 }

10

7

1

19

{ 1 8 }

...

...

 

 

 

Цифры г в системе

счисления с основанием а

- { 1 / 0 , 0 } - { 1 , 0 , 0 ) - { 1 / 0 , 0 } - { 1 , 0 , 0 } - { 1 / 0 , 0 } - { 1 , 0 , 0 ) - { 1 / 0 , 0 } - { 1 / 0 , 0 } - { 1 , 0 , 0 ) - { 1 / 0 , 0 } - { 1 / 0 , 0 }

- { 1 , 0 , 0 , 1 , 0 } - { 1 , 0 , 0 , 1 , 0 ) - { 1 , 0 , 0 , 1 , 0 }

- { 1 , 0 , 0 , 1 , 0 } - { 1 , 0 , 0 , 1 , 0 } - { 1 , 0 , 0 , 1 , 0 } - { 1 , 0 , 0 , 1 , 0 } - { 1 , 0 , 0 , 1 , 0 } - { 1 , 0 , 0 , 1 , 0 } - { 1 , 0 , 0 , 1 , 0 }

о1о0Г —-1 1Н

- { 1 , 0 , 0 , 1 , 0 }

-{ 1 , 0 , 0 , 1 , 0 }

-{ 1 , 0 , 0 , 1 , 0 }

-{ 1 , 0 , 0 , 1 , 0 }

-{ 1 , 0 , 0 , 1 , 0 }

-{ 1 , 0 , 0 , 1 , 0 )

-{ 1 , 0 , 0 , 1 , 0 }

Цифры s в системе

счисления

соснованием а

{1 / 0 , 0 , 0 , 0 , 0 , 1 }

{1 , 0 , 0 , 0 , 0 , 0 , 1 }

{1 , 0 , 0 , 0 , 0 , 0 , 1 1

{1 , 0 , 0 , 0 , 0 , 0 , 1 1

<— о о о о о (

1—1

{1 , 0 , 0 , 0 , 0 , 0 , 1 1

{1 , 0 , 0 , 0 , 0 , 0 , 1 1

{1 , 0 , 0 , 0 , 0 , 0 , 1 1 1 1 , 0 , 0 , 0 , 0 , 0 , 1 )

{ 1 , 0 , 0 , o f o f o , 1}

{1 , 0 , 0 , 0 , 0 , 0 , 1 1

Г о о 1 о о о

-Н —1

{1 / 0 , 0 , 1 , 0 , 0 , 0,1}

{1 , 0 , 0 , 1 , 0 , 0 , 0 , 1 1

гН о о 1— о о о

1

{1 , 0 , 0 , 1 , 0 , 0 , 0 , 1 1

1 о о 1 о о о

—1 —1

{1 , 0 , 0 , 1 , 0 , 0 , 0 , 1 1

{ 1 / 0 , 0 , 1 , 0 , 0 , 0 , 1 }

{1 , 0 , 0 , 1 , 0 , 0 , 0 , 1 1

1— о о гН о о о

1

{1 , 0 , 0 , 1 , 0 , 0 , 0 , 1 1

{1 , 0 , 0 , 1 , 0 , 0 , 0 , 1 1

Н-|

о о

1—1

о

о

о

 

о о

H-I

о

о

о

1—1

о о

1—1

о

о

о

{ 1 , 0 , 0 , 1 , 0 , 0 , 0 , 1 }

Н-Г

о

о

гН

о

о

о

{ 1 , 0 , 0 , 1 , 0 , 0 , 0 , 1 }

Честно говоря, возникает желание избавиться от этого назойливого повторения. Как это сделать? Для этого придется переделать программу. Но чтобы программа не

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

ааа[а_ ,п _ ]:= аЛп-1; d:= GCD[п, гп]

добавим еще два для печати.

180

Гпава 6