Метод modInverse
Метод modInverse возвращает модульное
обратное число для текущего целого числа
по заданному модулю. Модульное обратное
число - это такое число x, что
произведение исходного числа и x
даёт остаток 1 при делении на модуль.
В параметр метода мы передаём модуль, по
которому нужно найти обратное число.
Метод возвращает объект int или
null, если обратное число не существует.
Синтаксис
num.modInverse(modulus)
Пример
Давайте найдём модульное обратное число
для 3 по модулю 11:
void main()
{
int num = 3;
int modulus = 11;
print(num.modInverse(modulus));
}
Результат выполнения кода:
4
Пример
Давайте проверим, что произведение исходного
числа и найденного обратного числа даёт
остаток 1 при делении на модуль:
void main()
{
int num = 3;
int modulus = 11;
int? inv = num.modInverse(modulus);
print((num * inv!) % modulus);
}
Результат выполнения кода:
1
Пример
Давайте попробуем найти обратное число,
которого не существует, так как числа
4 и 8 не являются взаимно простыми:
void main()
{
int num = 4;
int modulus = 8;
print(num.modInverse(modulus));
}
Результат выполнения кода:
null