BigInteger в степени BigInteger - C#

Узнай цену своей работы

Формулировка задачи:

Имеются переменные y,r,s,p типа BigInteger. Необходимо вычислить (y^r*r^s) % p. Какие предложения по поводу вычисления данной формулы? Вот мой вариант:
if (R > int.MaxValue || S > int.MaxValue)
                throw new ArgumentException("Too big exponent");
           BigInteger l = (BigInteger.Pow(Y, (int)R) * BigInteger.Pow(R, (int)S))%P;
Если даже R и S не превышают int программа зависает. Возможно ли это выражение разбить на два и воспользоваться методом BigInteger.ModPow?

Решение задачи: «BigInteger в степени BigInteger»

textual
Листинг программы
public SUM(ref string str1,string str2)
{
 
int temp =0;
int pr =0;
 
for(int i = str2.lithg-1; i>=0 ; i--) 
{
temp = (int) str1[i]+ (int) str2[i];    
pr= (int) temp/10;
str1[i] =(char) temp%10 ;
str1[i-1]=(int) str1[i-1]+pr;
}
 
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.786 из 5