public void TestGetPrimeFactors(int n, int[] expectedPrimeFactors) { var factorization = new Factorization(); var primeFactors = factorization.GetPrimeFactors(n).OrderBy(n => n).ToArray(); Assert.AreEqual(expectedPrimeFactors.Length, primeFactors.Length); for (int i = 0; i < primeFactors.Length; i++) { Assert.AreEqual(expectedPrimeFactors[i], primeFactors[i]); } }
public void GetPrimeFactors_Examples_AreCorrect(ulong value, ulong[] expectedPrimeFactors) { var actual = Factorization.GetPrimeFactors(value, new Eratosthenes()).ToArray(); CollectionAssert.AreEquivalent(expectedPrimeFactors, actual); }
[TestCase(13195UL, 29UL)] // The prime factors of 13195 are 5, 7, 13 and 29. public void GetPrimeFactors_LargestPrimeFactorOfExample_IsCorrect(ulong value, ulong expected) { var actual = Factorization.GetPrimeFactors(value, new Eratosthenes()).Max(); Assert.AreEqual(expected, actual); }
private static ulong Solution() { return(Factorization.GetPrimeFactors(600851475143, new Eratosthenes()).Max()); }