예제 #1
0
        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);
        }
예제 #2
0
        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));
 }