Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБ._ПРАКТИКУМ Теория чисел.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.9 Mб
Скачать

Федеральное агентство морского и речного транспорта Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «государственный университет морского и речного флота имени адмирала с.о. макарова»

––––––––––––––––––––––––––––––––––––––––––––––––––––––––

М.Ю. Ястребов, И.В.Ланева

АЛГОРИТМЫ ТЕОРИИ ЧИСЕЛ

Лабораторный практикум

Санкт-Петербург 2015

УДК 511

ББК 22.13

Рецензенты:

д.т.н. профессор

Молдовян Н.А.

к. ф.-м.н., доцент

Кузнецов В.О.

Ястребов М.Ю.

Алгоритмы теории чисел. Лабораторный практикум: методи-ческие указания по выполнению лабораторных работ. - СПб: 2014. - 49 с.

Предназначено для студентов направления 090900.62 «Информационная безопасность», специальности 090303.65 «Информационная безопасность автоматизированных систем» и для углубленного изучения магистрам по направлению 090900.68 «Информационная безопасность».

Содержание соответствует рабочей программе дисциплины направления 090900.62 «Информационная безопасность».

Печатается по решению редакционно-издательского совета Государственного университета морского и речного флота им. адмирала С.О. Макарова.

УДК 511

ББК 22.13

Ястребов М.Ю., 2014

*****************

Государственный университет морского и речного флота

имени адмирала С.О.Макарова, 2014

Лабораторная работа № 1. Деление с остатком. Алгоритм Евклида для отыскания наибольшего общего делителя.

I. Теоретические сведения.

Деление с остатком. Всякое при всяком натуральном единственным образом представимо в виде:

,

где , (то есть делится на с остатком ).

Термины: ― неполное частное; ― остаток.

Алгоритм Евклида. Наибольший из общих делителей натуральных чисел называется их наибольшим общим делителем (НОД). Обозначение НОД: .

Деление с остатком даёт цепочку равенств (если положить , все равенства, включая два первых, примут единообразный вид):

, ;

, ;

;

… (1)

;

.

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

Последний ненулевой остаток является наибольшим общим делителем.

Линейное представление НОД. Пусть .Тогда существуют целые числа и , такие что .

Идя по цепочке (1), последовательно получаем:

Из первого равенства:

, где .

Далее, из второго равенства:

, где ,

,

и т. д. вплоть до линейного представления .

Бинарный алгоритм опирается на следующие свойства натуральных чисел:

1) — если оба аргумента чётны, то множитель можно вынести за знак НОД;

2) — если у аргументов разная чётность, то чётный аргумент можно разделить на два;

3) — разность двух нечётных чисел чётна;

4) при ;

5) ;

6) ;

7) .

Бинарный алгоритм на основании свойств 1) и 2) заменяет чётные аргументы их половинами, а в ситуации, когда оба нечётны, свойства 3) и 4) позволяют заменить больший из аргументов их чётной разностью. Свойство 5) гарантирует уменьшение аргументов. Свойства 6) и 7) обеспечивают завершение бинарного алгоритма.

II. Примеры.

1. Деление с остатком. Следует учитывать, что в соответствии с определением, остаток от деления отрицательного на положительное является неотрицательным: . Поэтому:

при делении на даёт остаток : ;

при делении на даёт остаток : .

2. Алгоритм Евклида и линейное представление НОД. Найдём . Проводим последовательные деления с остатком:

;

;

;

.

Последний ненулевой остаток равен 21, так что .

Получим линейное представление НОД, равного , выражая остатки от деления через делимое (левая часть каждого равенства) и делитель (первый множитель после знака равенства) и применяя к последним ранее полученное представление:

;

;

Найдём . Проводим последовательные деления с остатком:

;

;

;

;

;

.

Последний ненулевой остаток равен , так что .

Получим линейное представление НОД:

;

;

;

;

.

3. Бинарный алгоритм отыскания НОД.

.

III. Задания.

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. .

2) Найти с помощью алгоритма Евклида НОД и его линейное представление для следующих пар чисел:

1. 2806, 1058. 2. 147220, 18186. 3. 1672, 1848. 4. 589, 343.

5. 8211, 1350. 6. 29719, 76501. 7. 1717, 3232. 8. 7566, 606.

9. 6728, 42. 10. 525, 1002. 11. 15642, 2823. 12. 671, 1110.

13. 6021, 42. 14. 325, 1072. 15. 3641, 2823. 16. 167, 1210.

17. 7041, 422. 18. 1305, 174. 19. 2642, 2803. 20. 3167, 3215.

21. 6841, 4202. 22. 13010, 1540. 23. 22642, 280. 24. 9929,116.

25. 167, 3216. 26. 7997, 346. 27. 215, 3397. 28. 217, 4444.

29. 5021, 423. 30. 2325, 107. 31. 35642, 822. 32. 1680, 1210.

33. 856, 45422. 34. 2306, 374. 35. 5640, 2800. 36. 8187, 3014.

37. 6045, 4207. 38. 1210, 4542. 39. 2962, 1880. 40. 3029,1162.

41. 1661, 3216. 42. 7597, 346. 43. 2145, 3397. 44. 3570, 4784.

45. 806, 41400. 46. 2306, 256. 47. 1024, 2800. 48. 187, 3016.

49. 6043, 1207. 50. 3210, 512. 51. 262, 4880. 52. 4000,1369.

53. 2611, 3233. 54. 5598, 3046. 55. 2100, 2697. 56. 370, 6684.

57. 2610, 133. 58. 1598, 9147. 59. 3333, 2600. 60. 3215, 628.

3) Найти НОД, используя бинарный алгоритм:

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. .

Лабораторная работа № 2. Представление рациональных чисел непрерывными дробями.