// If x = n(3n−1)/2 => 2x = n(3n - 1) = 3n^2 - n => 3n^2 - n - 2x = 0 // Solving this quadratic equations yields: // D = b^2 - 4ac = 1 - (4 * 3 * -2x) = 1 + 24x // n = (1 - sqrt(1 + 24x))/6 or n = (1 + sqrt(1 + 24x))/6 // x and n are positive integers > 0, so n = (1 + sqrt(1 + 24x))/6 // So n is a pentagon number if 1 + 24x is a square number and sqrt(1 + 24x) == 5 mod 6. public static bool IsPentagonalNumber(long integer) { var numberToCheck = 1 + 24 * integer; return(NumberHelper.IsSquare(numberToCheck) && Math.Sqrt(numberToCheck) % 6 == 5); }
public static long GetSolutionOfProblem92() { var limit = 10000000 - 1; return((long)NumberHelper.NumberOfStartingNumbersForWhichSquareDigitChainEndsAt89(limit)); }
public static long GetSolutionOfProblem30() { var power = 5; return(NumberHelper.GetIntegersWhichCanBeWrittenAsNthPowersOfTheirDigits(power).Sum()); }
public static long GetSolutionOfProblem62() { var desiredNumberOfCubicPermutations = 5; return((long)NumberHelper.SmallestCubeWhichHasNCubicPermutations(desiredNumberOfCubicPermutations)); }
public static long GetSolutionOfProblem63() { return(NumberHelper.AllNDigitPositiveIntegersWhichAreNthPowers().Count); }
public static long GetSolutionOfProblem58() { var desiredUpperBoundPercentagePrimes = 10; return(NumberHelper.GetLengthOfNumberSpiralForWhichPercentageOfPrimesOnDiagonalsIsLowerThanLimit(desiredUpperBoundPercentagePrimes)); }
public static long GetSolutionOfProblem29() { var maxOfIntegersUsed = 100; return(NumberHelper.GetListOfDistinctPowers(maxOfIntegersUsed).Count()); }
public static long GetSolutionOfProblem56() { var max = 99; return(NumberHelper.MaximalDigitSum(max)); }
public static long GetSolutionOfProblem52() { return(NumberHelper.SmallestNumberSuchThat2345And6TimesTheNumberArePermutationsOfOriginalNumber()); }
public static long GetSolutionOfProblem28() { var sizeOfSpiralSides = 1001; return(NumberHelper.GetSumOfDiagonalsNumberSpiral(sizeOfSpiralSides)); }