Skip to content

Latest commit

 

History

History
13 lines (12 loc) · 888 Bytes

README.md

File metadata and controls

13 lines (12 loc) · 888 Bytes

LongArithmetic

Небольшой класс Large для работы с длинной арифметикой целых чисел. Поддерживаемые операции:

  • Сложение за $O(n)$
  • Вычитание за $O(n)$
  • Умножение с помоью алгоритма Карацубы за $O(n^{\log_2{3}})$
  • Деление за $O(\log{n} * n^{\log_23})$
  • Остаток от деления за $O(\log{n} * n^{\log_23})$
  • Возведение в степень P за $O(\log{P} * n^{\log_23})$
  • Перевод в строку за $O(n)$
  • Инкремент и декремент за $O(n)$
  • Присваивание и инициализация, используя move-семантику

Также имеется 3 конструктора класса: из int64_t, std::string и по умолчанию, задающий 0.