public static long SumOfPrimes(int n) { var primes = OptimusPrime.Primes(n); long sum = primes.Sum(); return(sum); }
public static long Solve(int minDivisors) { // for help: the formula for a Triangular Number is x_n = n(n+1)/2 // https://www.mathsisfun.com/algebra/triangular-numbers.html //http://www.mathblog.dk/triangle-number-with-more-than-500-divisors/ var provenPrimes = OptimusPrime.Primes(500000).ToArray(); long max = (long)Int32.MaxValue + 100; var triangles = TriangleNumberGenerator(0, max); foreach (long tri in triangles) { int divisors = FactorizationNumDivisors(tri, provenPrimes); if (divisors > minDivisors) { return(tri); } } return(0); }