DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
О
Факультет:
СІ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2016
Тип роботи:
Звіт
Предмет:
СП
Група:
БІ 21

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» / ЗВІТ ТЕСТУВАННЯ ЧИСЕЛ НА ПРОСТОТУ ТА ПОБУДОВА ДОВГИХ ПРОСТИХ ЧИСЕЛ. Варіант № 9 Мета роботи: вивчити основні програмні методи тестування чисел на простоту. Завдання: Скласти програму, яка б реалізовувала тест Рабіна-Міллера на перевірку простоти числа. Результати роботи подати у звіт. Список ідентифікаторів констант, змінних і функцій, використаних у головній програмі і підпрограмах та їх пояснення Ev — логічна змінна, яка отримує результат роботи алгоритму Евкліда; rez — логічна змінна, яка отримує результат роботи всієї програми; Evklid () – метод який реалізує алгоритм Евкліда; test () – метод проведення основного тесту; n - змінна, якій присвоюється значення перевіюваного числа; s - змінна, степінь числа 2. t - змінна, непарне число. а - змінна, якій присвоюється випадкове значення; t, x, y - додаткові змінні, що потрібні для роботи методів перевірки. Блок-схема програми: Головний метод Main: Метод Evklid: Метод test: + - Текст Програми: using System; namespace Lab_3_Crupt { class Program { static void Main() { int n = 0; int s = 0; int t = 0; int a = 0; bool Ev, rez; Program ob = new Program(); Console.WriteLine("Записуємо число для перевiрки у вигляді n-1=(2^s)*t:"); n = int.Parse(Console.ReadLine()); Console.WriteLine("Введіть степінь двійки s:"); s = int.Parse(Console.ReadLine()); Console.WriteLine("Введіть число t:"); t = int.Parse(Console.ReadLine()); Random r = new Random(); a = r.Next(1, n - 1); Ev = ob.Evklid(n, a); if (Ev) { rez = ob.test(n, a); if (rez==-1) { Console.WriteLine("Не вiдомо"); Console.ReadLine(); } else { Console.WriteLine("Число складне"); Console.ReadLine(); } } else { Console.WriteLine("Число складне"); Console.ReadLine(); } } public bool test(double x, double y) { Ch1 = (Math.Pow(a,t) –1) % n Ch2 = (Math.Pow(a,t) –(-1)) % n if(Ch1=0 or Ch2=0) { break; void Main(); } else { for(p=1;p<=Math.Pow(2,s-1);p++) { rez=Math.Pow(a,pt)%n } } } public bool Evklid(int x, int y) { int t; while (y != 0) { t = y; y = x % y; x = t; } if (x == 1) return true; else return false; } } } Результат роботи програми: /
Антиботан аватар за замовчуванням

14.05.2016 10:15

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!