Некоторые алгоритмы для работы с большими числами в информатике:
- Классическая длинная арифметика. 3 Число хранится в виде массива его цифр. 3 Операции над числами производятся с помощью алгоритмов сложения, вычитания, умножения, деления столбиком. 3
- Длинная арифметика в факторизованном виде. 3 Идея заключается в том, чтобы хранить не само число, а его факторизацию, то есть степени каждого входящего в него простого. 3 Этот метод экономит память и позволяет производить умножение и деление быстрее, но невозможно произвести сложение или вычитание. 3
- Длинная арифметика по системе простых модулей (Китайская теорема или схема Гарнера). 3 Суть в том, что выбирается система модулей (обычно небольших, помещающихся в стандартные типы данных), и число хранится в виде вектора из остатков от его деления на каждый из этих модулей. 3
- Длинная арифметика в несократимых дробях. 3 Число представляется в виде несократимой дроби. 3 Тогда все операции над дробными числами сводятся к операциям над числителями и знаменателями этих дробей. 3
Также в современных языках программирования существует много готовых оптимизированных библиотек для длинной арифметики. 2 Например, встроенные библиотеки работы с большими числами есть в PascalABC.NET, Ruby, Python и Java. 2