** Лабораторна робота № 2 **
Написати клас, що реалізує динамічне подання “довгих” цілих чисел. Довжина (розрядність) і основа позиційного числення (якщо алгоритм передбачає) вводяться як параметр. Передбачити в класі такі методи, кожного разу оцінюючи швидкість їх виконання шляхом обчислення кількості тактів таймера. Результати ділення в пп. 4 і 5 подати у вигляді числа з плаваючою точкою.
- Множення невід’ємних цілих чисел методом Карацуби [Кнут, т.2, с. 336].
- Множення невід’ємних цілих чисел методом Тоома-Кука [Кнут, т.2, с. 340].
- Множення невід’ємних цілих чисел методом Шенхаге [Кнут, т.2, с. 344].
Множення невід’ємних цілих чисел методом Штрассена [Кнут, т.2, с. 347–350].- Обчислення оберненої величини з високою точністю (алгоритм Кука) [Кнут, т.2, с. 340].
- Ділення цілих чисел алгоритмом Кука [Кнут, т.2, с. 340].
- Перевірка простоти числа методом Лемера [Шнайер, с. 297].
- Перевірка простоти числа методом Рабіна–Міллера [Шнайер, с. 298].
- Перевірка простоти числа методом Соловея–Штрассена [Шнайер, с. 298].
- Перевірка простоти числа методом Фробеніуса (https://en.wikipedia.org/wiki/Quadratic_Frobenius_test).