1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
/// <summary>
/// Prüfen auf eine Primzahl. Es werden nur alle ungeraden Zahlen bis zur Würzel der
/// zu prüfenden Zahl getestet.
/// </summary>
/// <param name="Number">Zu prüfende Zahl</param>
/// <returns>True, wenn die Zahl eine Primzahl ist</returns>
/// <see></see>
public static bool IsPrimeNumber(long testNumber)
{
if (testNumber < 2) return false;
// 2 explizit testen, da die Schliefe an 3 startet
if (testNumber % 2 == 0) return false;
long upperBorder = (long)System.Math.Round(System.Math.Sqrt(testNumber), 0);
// Alle ungeraden Zahlen bis zur Wurzel prüfen
for (long i = 3; i <= upperBorder; i = i + 2)
if (testNumber % i == 0) return false;
return true;
}
|