книги / Mathematica 5. ╨б╨░╨╝╨╛╤Г╤З╨╕╤В╨╡╨╗╤М
.pdfсказывается не только увеличение л, но и увеличение временных затрат на нахожде ние наибольшего общего делителя больших чисел.
Пример 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 и 2т-1 при взаимно |
|
простых п и т . Так как числа 2п-1 и |
2т-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 |