Поделиться через


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 метод .

Применяется к

См. также раздел