Primality Check ist wahrscheinlich einer der "schwierigen" Probleme in der Mathematik. Also, was ist der beste und schnellste Algorithmus zur Verfügung, um die Primzahl einer großen Zahl zu überprüfen. Die rohe und der langsamste Weg wahrscheinlich ist:Primitivitätsprüfung Algorithmus
public static bool IsPrime(int i)
{
for (var x = 2; x < i - 1; i++)
{
if (i % x == 0)
{
return false;
}
}
return true;
}
Vor kurzem habe ich gelesen, dass die 768-Bit-RSA-Algorithmus Brute-Force geknackt wurde mit einem Grid-Computing-Array. Wie führen sie die rohe Gewalt an einer riesigen Primzahl aus? Nimmt jede Verarbeitungseinheit eine Reihe von Zahlen auf, faktorisiert sie und prüft die Primzahl auf die Anzahl, die in diesem Bereich liegt?
brauchen Sie nicht nur die for-Schleife bis zur Hälfte der Zahl, die Sie binden, um die Primalität zu finden? Wenn Ihre Nummer beispielsweise 100 ist, dann ist 50 die größte Zahl, die möglicherweise ein Faktor davon sein könnte, nein? –
ceil (sqrt (i)) ist der größte Faktor, den Sie überprüfen müssen – swegi
vielleicht bin ich dumm, aber ich hätte gedacht, Boden (sqrt (i)) war der größte Faktor, den Sie überprüfen mussten? –