Лабораторная работа: Проверка больших чисел на простоту

namespace Tania_KMZILab3

{

staticclassFerma

{

staticpublicbool FermatLittleTest(int confidence, BigInteger thisVal)

{

if ((thisVal % 2) == 0)

returnfalse;

int bits = thisVal.bitCount();

BigInteger a = newBigInteger();

Random rand = newRandom();

for(int round = 0; round < confidence; round++)

{

SelfDecimatedGenerator generator = newSelfDecimatedGenerator(40); // в конструкторе задаёт длину числав битах

a = newBigInteger(generator.Generate(), 2);

BigInteger expResult = a.modPow(thisVal - 1, thisVal);

if(expResult != 1)

{

returnfalse;

}

}

returntrue;

}

}

}

SelfDecimatedGenerator.cs

using System;

using System.Collections.Generic;

using System.Linq;

К-во Просмотров: 265
Бесплатно скачать Лабораторная работа: Проверка больших чисел на простоту