public long GetEightDivisorFactorsUpto(long upto) { long result = 0; List <long> eightDivisors = new List <long>(); for (int i = 1; i < upto; i++) { var number = i; int divisorCount = _factors.GetFactorCount(number); //if (eightDivisors.Any(n => number % n == 0)) continue; if (divisorCount == FACTOR_COUNT) { result++; eightDivisors.Add(number); //numbers.RemoveAll(n => n % number == 0 && n > number); } } return(result); }
public int GetEightDivisorFactorsUpto(int upto) { int result = 0; List <int> numbers = Enumerable.Range(1, upto).ToList(); List <int> eightDivisors = new List <int>(); for (int i = 0; i < numbers.Count; i++) { var number = numbers[i]; int divisorCount = _factors.GetFactorCount(number); //if (eightDivisors.Any(n => number % n == 0)) continue; if (divisorCount == FACTOR_COUNT) { result++; eightDivisors.Add(number); //numbers.RemoveAll(n => n % number == 0 && n > number); } } return(result); }
// http://stackoverflow.com/a/4549500/4035 public int GetFactorCount(double numberToCheck) { return(_factors.GetFactorCount(numberToCheck)); }