Example #1
0
        private long GetFirstTriangleNumberWithAtLeastNDivisor(int requiredNumberOfDivisors)
        {
            int n = 1;
            var nthTriangleNumber = TriangleNumberHelper.GetNthTriangleNumber(n);

            while (DivisorHelper.GetNumberOfDivisors(nthTriangleNumber) < requiredNumberOfDivisors)
            {
                n++;
                nthTriangleNumber = TriangleNumberHelper.GetNthTriangleNumber(n);
            }
            return(nthTriangleNumber);
        }
Example #2
0
        public void GetListOfProperDivisors_Of220_ReturnsCorrectList()
        {
            // Arrange
            var number = 220;
            var properDivisorsOfNumber = new List <int> {
                1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110
            };

            // Act
            var result = DivisorHelper.GetListOfProperDivisors(number);

            // Assert
            result.Should().BeEquivalentTo(properDivisorsOfNumber);
        }
Example #3
0
 private bool IsAbundantNumber(int n)
 {
     return(DivisorHelper.GetListOfProperDivisors(n).Sum() > n);
 }
Example #4
0
 private int GetSumOfProperDivisors(int n)
 {
     return(DivisorHelper.GetListOfProperDivisors(n).Sum());
 }
Example #5
0
 public void GetNumberOfDivisors_ReturnsCorrectResult(long n, int numberOfDivisors)
 {
     DivisorHelper.GetNumberOfDivisors(n).Should().Be(numberOfDivisors);
 }