valyala
Новичок
калькулятор для работы с большими целыми числами
Потестируйте, пожалйста, мой калькулятор для работы с большими целыми числами.
Вот его "фичи" и возможности:
- длина чисел не ограничена. Вернее, ограничена объемом памяти и временем, которого вам не жалко![Smile :) :)](/talk/styles/default/xenforo/smilies/smile.png)
- числа можно вводить в следующих форматах: двоичном, восьмеричном, десятичном и шестнадцатеричном
- вывод чисел может быть по любому основанию от 2 до 36 включительно
- каждая операция имеет свой приоритет. Например, 1+2*3 вычислится в 7 = (2*3) + 1, а не в 9 = (1+2) * 3
- поддерживается модулярная арифметика с произвольным модулем
- поддерживаются следующие операции над числами: сложение, вычитание, умножение, деление, остаток от деления, возведение в степень, факториал, арифметический свиг влево и вправо на произвольное количество бит, побитовые операции И, ИЛИ, XOR.
- такде поддерживаются следующие функции:
is_prime(n) - проверка числа на простоту
next_prime(n) - возвращает следующее за n псевдопростое число
invmod(n, modulus) - возвращает число n^(-1) (mod modulus)
gcd(n1, n2) - наибольший общий делитель n1 и n2
jacobi(a, p) - символ Якоби (a|p)
hamming_dist(n1, n2) - расстояние Хэмминга
sqrt(n) - целая часть от квадратного корня
sqrt_rem(n) - остаток от квадратного корня: sqrt_rem(n) = n - sqr(sqrt(n))
sqr(n) - квадрат
rand(rand_bits) - псевдослучайное число длиной rand_bits бит
abs(n) - модуль
set_bit(n, bit_pos), clr_bit(n, bit_pos), inv_bit(n, bit_pos), test_bit(n, bit_pos) - установка, сброс, изменение и проверка бита в позиции bit_pos числа n. Нумерация бит начинается с нуля
subint(n, bit_start, bit_len [, is_invert]) - возвращает число, состоящее из bit_len бит числа n, начиная с позиции bit_start. Если is_invert != 0, то инвертирует вырезанные биты.
На данный момент все это добро "весит" 41кб.
Свежую версию калькулятора всегда можно скачать по адресу http://disnay.com
Потестируйте, пожалйста, мой калькулятор для работы с большими целыми числами.
Вот его "фичи" и возможности:
- длина чисел не ограничена. Вернее, ограничена объемом памяти и временем, которого вам не жалко
![Smile :) :)](/talk/styles/default/xenforo/smilies/smile.png)
- числа можно вводить в следующих форматах: двоичном, восьмеричном, десятичном и шестнадцатеричном
- вывод чисел может быть по любому основанию от 2 до 36 включительно
- каждая операция имеет свой приоритет. Например, 1+2*3 вычислится в 7 = (2*3) + 1, а не в 9 = (1+2) * 3
- поддерживается модулярная арифметика с произвольным модулем
- поддерживаются следующие операции над числами: сложение, вычитание, умножение, деление, остаток от деления, возведение в степень, факториал, арифметический свиг влево и вправо на произвольное количество бит, побитовые операции И, ИЛИ, XOR.
- такде поддерживаются следующие функции:
is_prime(n) - проверка числа на простоту
next_prime(n) - возвращает следующее за n псевдопростое число
invmod(n, modulus) - возвращает число n^(-1) (mod modulus)
gcd(n1, n2) - наибольший общий делитель n1 и n2
jacobi(a, p) - символ Якоби (a|p)
hamming_dist(n1, n2) - расстояние Хэмминга
sqrt(n) - целая часть от квадратного корня
sqrt_rem(n) - остаток от квадратного корня: sqrt_rem(n) = n - sqr(sqrt(n))
sqr(n) - квадрат
rand(rand_bits) - псевдослучайное число длиной rand_bits бит
abs(n) - модуль
set_bit(n, bit_pos), clr_bit(n, bit_pos), inv_bit(n, bit_pos), test_bit(n, bit_pos) - установка, сброс, изменение и проверка бита в позиции bit_pos числа n. Нумерация бит начинается с нуля
subint(n, bit_start, bit_len [, is_invert]) - возвращает число, состоящее из bit_len бит числа n, начиная с позиции bit_start. Если is_invert != 0, то инвертирует вырезанные биты.
На данный момент все это добро "весит" 41кб.
Свежую версию калькулятора всегда можно скачать по адресу http://disnay.com