Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Irval1337/LongArithmetic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

19 Commits

Repository files navigation

LongArithmetic

Небольшой класс Large для работы с длинной арифметикой целых чисел. В качестве представления длинных чисел используется их значение в системе счисления с основанием 10ドル^9$ Поддерживаемые операции:

  • Сложение за $O(n)$
  • Вычитание за $O(n)$
  • Умножение: для маленьких чисел внутри __int128 или за $O(nm)$, для больших через FFT за $(n+m)log(n+m)$.
  • Деление за $O(mult(n, m))$
  • Остаток от деления за $O(div(n, m))$
  • Возведение в степень P за $O(\log{P} * mult(n, n))$
  • Перевод в строку за $O(n)$
  • Инкремент и декремент за $O(n)$
  • Присваивание и инициализация, используя move-семантику

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

About

Simple class for working with long arithmetic in C++

Topics

Resources

License

Stars

Watchers

Forks

AltStyle によって変換されたページ (->オリジナル) /