BigInteger.ModPow(BigInteger, BigInteger, BigInteger) Метод
Определение
Важный
Некоторая информация относится к предварительным версиям продукта, который может быть существенно изменен до его выпуска. Корпорация Майкрософт не дает никаких гарантий, явных или подразумеваемых, в отношении предоставленной здесь информации.
Выполняет модульное деление числа, возведенного в степень другого числа.
public:
static System::Numerics::BigInteger ModPow(System::Numerics::BigInteger value, System::Numerics::BigInteger exponent, System::Numerics::BigInteger modulus);
public static System.Numerics.BigInteger ModPow(System.Numerics.BigInteger value, System.Numerics.BigInteger exponent, System.Numerics.BigInteger modulus);
static member ModPow : System.Numerics.BigInteger * System.Numerics.BigInteger * System.Numerics.BigInteger -> System.Numerics.BigInteger
Public Shared Function ModPow (value As BigInteger, exponent As BigInteger, modulus As BigInteger) As BigInteger
Параметры
- value
- BigInteger
Число, возведенное в степень exponent.
- exponent
- BigInteger
Показатель степени, в которую будет возведено значение value.
- modulus
- BigInteger
Число, на которое делится значение value, возведенное в степень exponent.
Возвращает
Остаток от деления valueexponent на modulus.
Исключения
modulus равен нулю.
exponent является отрицательным значением.
Примеры
В следующем примере показан простой пример вызова ModPow метода .
using System;
using System.Numerics;
public class Class1
{
public static void Main()
{
BigInteger number = 10;
int exponent = 3;
BigInteger modulus = 30;
Console.WriteLine("({0}^{1}) Mod {2} = {3}",
number, exponent, modulus,
BigInteger.ModPow(number, exponent, modulus));
}
}
// The example displays the following output:
// (10^3) Mod 30 = 10
open System.Numerics;
let number = 10I;
let exponent = 3;
let modulus = 30I;
printfn $"({number}^{exponent}) Mod {modulus} = {BigInteger.ModPow(number, exponent, modulus)}"
// The example displays the following output:
// (10^3) Mod 30 = 10
Imports System.Numerics
Module Example
Public Sub Main()
Dim number As BigInteger = 10
Dim exponent As Integer = 3
Dim modulus As BigInteger = 30
Console.WriteLine("({0}^{1}) Mod {2} = {3}", _
number, exponent, modulus, _
BigInteger.ModPow(number, exponent, modulus))
End Sub
End Module
' The example displays the following output:
' (10^3) Mod 30 = 10
Замечания
Метод ModPow вычисляет следующее выражение:
(показатель baseValue ^ экспоненты) Модуль mod
Для выполнения экспоненциации значений BigInteger без деления по модулю используйте Pow метод .