- •Основная теорема теории чисел Теорема: 4
- •Алгоритм Ферма
- •Бинарный алгоритм
- •Разложение числа в цепную дробь
- •Вычисление подходящих дробей
- •Диафантовы уравнения
- •Сравнение
- •Арифметика сравнений
- •Функция Эйлера и ее свойства.
- •Теорема Эйлера-Ферма (Малая теорема Ферма)
- •Решение сравнений в первой степени.
- •Теорема: Вильсена
- •Китайская теорема об остатках
- •Многочлены
- •Наибольший общий делитель
- •Алгоритм Евклида для 2-х многочленов
- •Частный случай теоремы 23
- •Приближенная интерполяция
- •Метод наименьших квадратов
- •Полиномиальное кодирование.
- •Коды Шеннона-Фено
- •Алгоритм Хоффмана.
- •Лексикографический порядок
- •Антилексикографический порядок
- •Алгоритм лексикографического порядка
- •Бинарный код Грея
- •Числа Стирлинга первого и второго рода
- •Числа Стирлинга
- •Числа Белла
- •Разбиение чисел
- •Рекуррентное уравнение (Уравнение в конечных разностях)
- •Линейные рекуррентные уравнения порядка k
- •Нахождение частного решения неоднородного уравнения
- •Основы теории графов
- •Связность
- •Алгоритм построения Эйлеровой цепи.
- •Деревья
- •Коциклы
- •Элементы теории вероятности
Делимость целых чисел. НОД, НОК и их свойства. Простые числа. Основная теорема теории чисел.
Пусть есть a,bZ
N,Z,Q,R,C – множества чисел
Теорема: о делимости целых чисел
Для любых a,bZ существуют единственные q, r такие, что 0<=r<|b| a=bq+r
q=[a/b] r={a/b}
Если r=0, то a||b (a кратно b)
Теорема 1: Свойства деления
a||b, b||c => a||c (транзитивность)
a1,a2, … ,ak | => ,, … ,k
ai||c |
ki=1aii||c
Если любое а кратно с, то линейная комбинация тоже кратно с
Существует max(a,b)<=M(a,b)<=ab
Определение:
Существует a,b a||d, b||d D(a,b) – НОД
1<=D(a,b)<=min(a,b)
Определение:
a,b называются взаимно простыми, если M(a,b)=1
Теорема 2: Свойства НОД и НОК
1) a1,a2, … ,ak
m||a1, m||a2, … , m||ak m||M(a1,a2, … ,ak) НОД||НОК
Доказательство: Пусть m=M(a1,a2, … ,ak)q+r 0<r<M(a1,a2, … ,ak)
r=m-M(a1,a2, … ,ak)q => r||a1,a2, … ,ak (т.к. m||a1,a2, … ,ak) =>наше предположение неверно r=0
2) a1,a2, … ,ak d1,d2, … ,dk
D(a1,a2, … ,ak)=M(d1,d2, … ,dn)
Доказательство: ai||d1, ai||d2, … , ai||dn т.е. аi – кратное
ai||M(d1,d2, … ,dn), M(d1,d2, … ,dn)||dj
ab=D(a,b)M(a,b)
Доказательство: ?????
Пусть есть a1,a2, … ,ak
Как найти D(a1,a2, … ,ak)?
Пусть D(ai,aj) известно, тогда
d1=D(a1,a2); d2=D(d1,a3); dk-1=D(dk-2,ak)
Утверждение:
ab||c и (a,c)=1 => b||c
Определение:
а называется простым если а||a или a||1 и у него нет других делителей.
Теорема: 3 Свойства простых чисел.
a,p (p – простое) a||p или a||b (b,p)=1
ab||p => a||p или b||p
a1, существует простой делитель
p=min{d1,d2, … ,dk} – простое
Основная теорема теории чисел Теорема: 4
a=p1p2…pk=paqbrc (p,q,r – простые числа)
Доказательство:
a=a1p1, если а1>1, то a1=a2p2
Существует единственная комбинация разложения числа на простые сомножители, a=p1p2…pk=q1q2…qk (p,q – простые)
По теореме 3 – pi||q1, pj||q2
Решето Эратосфена. Разложение числа на простые (стандартная схема и метод Ферма).
Нахождение простых чисел в интервале от 1 до N
Алгоритм:
S1 p1=2, k=1
k+1 Pk
Pk>N остановка, числа можно просматривать до N или до [N]+1
Теорема: 5 Евклида
Множество простых чисел бесконечно
Доказательство: Пусть множество конечно {p1,p2…pk}
Следующее простое число это произведение предыдущих плюс 1, т.е.
pk+1=p1p2…pk+1
Дано: aZ a=paqbrc…
{p1,p2…pk}
2=p1<p2<…<pk
k,i Step0 k=1, i=1
Step1 a=1 => stop
a=pkq+r if r=0 => Step3
Step2 r=0 di=pk, i=i+1 => Step1
Step3 r0 k=k+1 => Step1
Алгоритм Ферма
a=xy, a=u2-v2=(u-v)(u+v)
R(u,v)=u2-v2-a остановка при R(u,v)=0
R(u,v)<0 V=V+1
R(u,v)>0 U=U+1
R(u+1,v)=(u+1)2-v2-a=u2-v2-a+(2u+1)=R(u,v)+2u+1
R(u,v+1)=u2-(v+1)2-a=u2-v2-a-(2v+1)=R(u,v)-2u-1
Алгоритм Евклида, бинарный алгоритм. Линейное представление НОД.
Алгоритм Евклида
D(a,b) - ?
D(a,b)=D(a-bq,b) a-bq+r
a=bq0+r0 D(b,r0)
b=r0q1+r1 D(r0,r1)
r0=r1q2+r2 D(r1,r2)
… … …
rk-2=rk-1qk+rk D(rk-1,rk)
rk-1=rkqk+1
Бинарный алгоритм
a,b – четные => D(a,b)=2D(a/2,b/2)
a – четное, b – нечетное => D(a,b)=D(a/2,b)
D(a,b)=D(a-b,b)
a,b – нечетные => a-b – четное
|a-b|<max{a,b} a,b>0
S1 k=0
k=k+1, a=a/2, b=b/2 (пока a,b четные)
S2 a – нечетное => tmp=-b goto S4
а – четное => tmp=a
S3 tmp=tmp/2
S4a if (tmp – четно) => goto S3
S4 if (tmp>0) then a=tmp
Else b=-tmp
S5 tmp=a-b
Tmp=0 stop
D(a,b)=2ka
Goto S3
Пример:
a b tmp
76501 29719 -29719
76501 29719 40782 23391
23391 29719 -6328 -3164 -1522 -791
23391 791 22600 11300 5650 2825
2825 791 2034 1017
1017 791 226 113
113 791 –678 -229
113 339 -226 -113
113
Цепные дроби. Разложение числа в цепную дробь. Свойства и вычисление подходящих дробей. (Оба вопроса не разделимы)
Бесконечная цепная дробь. Разложение иррациональности в цепную дробь.
Разложение числа в цепную дробь
a>b
. . .
a<b
a/b<0
Теорема: 6
Любое рациональное число можно разложить в цепную дробь, одним и только одним способом, где все qi>0, i>=1, a последнее qk>1
(Если qk не >1 то 2 разл: (q0,q1,…,qk-1,1)
ZR имитируем алгоритм Евклида для вещественного числа
Z=q0+1 q0=[Z] – выделим целую часть числа
(0,1), Z1>1
Z=q0+1/Z1 (разложение числа в цепную дробь)
Z1=q1+2 q1=[Z1]
(0,1)
Z1=q1+1/Z2, Z2>1
Z2=q2+3
….
=q0,q1…qk+1
Пример:
(5,(3,2,10)) т.е. цепная периодическая дробь
Вычисление подходящих дробей
k=-Pk/Qk – подходящая дробь
Найдем формулы для вычисления Pk Qk
Вводим условную дробь =1/0 т.е. P-1,Q-1=0
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Qs |
|
2 |
1 |
1 |
2 |
1 |
6 |
1 |
4 |
Ps |
1 |
2 |
3 |
5 |
13 |
18 |
121 |
139 |
677 |
Qs |
0 |
1 |
1 |
2 |
5 |
7 |
47 |
54 |
263 |
hs=PsQs-1-QsPs-1
(qsPs-1+Ps-2)Qs-1-(qsQs-1+Qs-2)
Ps-1=Ps-2Qs-1-Qs-2Ps-1=-(Qs-2Ps-1-Ps-2Qs-1)=-hs-1
hs=-hs-1=(-1)2hs-2=…=h0(-1)s
h0=-1, hs=(-1)s+1
;
Q-1=0; Q1=1; Q2=q2Q1+Q0 (последующие Qi монотонно возрастают)
hs=(-1)S+1=(Qs-1Ps-Ps-1Qs)
PsQs || d делятся на d=1
D(Ps-2,Qs)=1 взаимно просты
R
=q0+1 q0=[]
=q1+2 q1=[]
S=qS+S+1
подпоследовательность нечетных дробей убывает
подпоследовательность четных дробей возрастает
;
=(5,(3,2,3,10)) =5,29150267
0,0001 1/QS2<0,0001 => QS>100
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Qs |
|
5 |
3 |
2 |
3 |
10 |
3 |
2 |
Ps |
1 |
5 |
16 |
37 |
127 |
1037 |
4018 |
9403 |
Qs |
0 |
1 |
3 |
6 |
24 |
247 |
465 |
1777 |
16/3=5,3(3)
37/7=5,2857
127/24=5,2915
1037/247=5,2915
Решение диофантовых уравнений.