Skip to content

Irval1337/LongArithmetic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.