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); }
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); }
private bool IsAbundantNumber(int n) { return(DivisorHelper.GetListOfProperDivisors(n).Sum() > n); }
private int GetSumOfProperDivisors(int n) { return(DivisorHelper.GetListOfProperDivisors(n).Sum()); }
public void GetNumberOfDivisors_ReturnsCorrectResult(long n, int numberOfDivisors) { DivisorHelper.GetNumberOfDivisors(n).Should().Be(numberOfDivisors); }