static void Main(string[] args) { GaussianInteger GI = new GaussianInteger(4, 0); GI.IsPrime = GI.CheckIsPrime(GI); Console.WriteLine(GI.IsPrime); }
public bool CheckIsPrime(GaussianInteger GI) { for (int i = 0; i < GI.a; i++) { for (int j = 0; j < GI.b; j++) { if (!(i == 0 && j == 0)) { double FirstNumber = (GI.a * i + GI.b * j) / (i * i + j * j); double SecondNumber = (GI.a * i - GI.b * j) / (i * i + j * j); if (!(GI.IsUnit && (new GaussianInteger(i, j).IsUnit))) { if (FirstNumber == (int)FirstNumber && SecondNumber == (int)SecondNumber) { return(false); } } } } } return(true); }