- •Національний університет "львівська політехніка"
- •Лабораторна робота №1
- •Лабораторна робота №2
- •Лабораторна робота №3
- •Лабораторна робота №4
- •2. Обчислити значення . Лабораторна робота №5
- •Лабораторна робота №6
- •Лабораторна робота №7
- •Лабораторна робота №8
- •Лабораторна робота №9
- •Лабораторна робота №10
- •Лабораторна робота №11
- •Лабораторна робота №12
- •Лабораторна робота №13
- •Лабораторна робота №14
- •Лабораторна робота №15
- •Лабораторна робота №16
- •Лабораторна робота №17
- •Лабораторна робота №18
Лабораторна робота №4
Тема: Обчислення символу Лежандра
Мета: Навчитися обчислювати символ Лежандра
Теоретичні відомості.
Для цілого х і непарного простого р символ Лежандра означується як:
Завдання.
1.. Програмно реалізувати процедуру обчислення символу Лежандра.
2. Обчислити значення . Лабораторна робота №5
Тема : Обчислення символу Якобі
Мета: Навчитися обчислювати символ Якобі
Теоретичні відомості.
Символ Якобі є узагальненням символу Лежандра.
Нехай
- непарне число з розкладом на прості
множники:
.
Нехай х
- довільне ціле число. Тоді символ Якобі
означується
як:
.
Алгоритм обчислення символу Якобі для заданих х і n :
Вважаємо,
що 0<х<n,
оскільки
.
Кожен крок
алгоритму зводить обчислення
до обчислення
, де
і
.
Якщо
,
то маємо
Якщо
,
то маємо
Якщо х непарне, то маємо
Завдання.
Програмно реалізувати процедуру обчислення символу Якобі.
Обчислити
Лабораторна робота №6
Тема Детермінований алгоритм тестування простоти
Мета: Навчитися використовувати детермінований алгоритм тестування простоти
Теоретичні відомості.
Задача тестування простоти полягає у питанні: задане число n просте чи ні? Алгоритми розв'язку цієї задачі називаються тестами простоти.
Детермінований алгоритм тестування простоти:
Вхід:n>1.
Присвоюємо змінній l значення 2.
Якщо l>[n/2], то закінчуємо роботу, стверджуючи, що n- просте.
Якщо l<[n/2] і l|n, то завершуємо роботу і вхід відхиляємо (n-складене). Якщо l<[n/2] і l|n, то збільшуємо l на 1 і повертаємось на початок.
Завдання.
1. Програмно реалізувати детермінований тест простоти.
2. Визначити всі прості числа на відрізку [700;800].
Лабораторна робота №7
Тема : Тест простоти Соловея-Штрассена
Мета: Навчитися використовувати ймовірнісний тест простоти Соловея-Штрассена
Теоретичні відомості.
Тест є поліноміальним за часом роботи і має однобічну помилку. Це означає, що коли на вхід подається просте число, відповідь буде правильна, якщо складене - є ймовірність неправильної відповіді (тут не перевищує 0,5). Ймовірність помилки знижується до 2-k , повторенням тесту k разів.
Схема тесту:
Вибрати випадкове х таке, що 1< х <n-1.
Якщо НСД(х,п)
1,
то припинити роботу з резолюцією
"складене",
інакше
продовжувати.Якщо
,
то зупинитись з резолюцією "складене",
інакше
зупинитись з резолюцією "просте".
Завдання.
Програмно реалізувати тест Соловея-Штрассена.
Визначити всі прості числа на відрізку [б50;750].
Лабораторна робота №8
Тема : Визначення псевдопростих чисел Ферма
Мета: Навчитися визначати псевдопрості числа Ферма
Теоретичні відомості.
Непарне
п,
яке задовольняє умову
,
але не є простим, називається
псевдопростим
числом Ферма або
псевдопростим за основою
х.
Завдання.
Програмно реалізувати процедуру визначення псевдопростих Ферма.
Знайти будь-яке псевдопросте Ферма за основою 3.
Лабораторна робота №9
Тема: Визначення кількості простих чисел в заданих межах
Мета: Навчитися визначати кількість простих чисел в заданих межах
Завдання.
Програмно реалізувати процедуру визначення кількості простих чисел в заданих межах з використанням вибраного тесту простоти.
Знайти кількість простих чисел на відрізку [150;250].
