12 Highly Divisible Triangular Number
1: 1
3: 1,3
6: 1,2,3,6
10: 1,2,5,10
15: 1,3,5,15
21: 1,3,7,21
28: 1,2,4,7,14,28#include <iostream>
#include <limits>
using namespace std;
void pause() { cin.ignore(numeric_limits<streamsize>::max(), '\n'); }
long long int generateTriangleNumber(long long int generation)
{
long long int sum = 0;
for (long long int i = 1; i <= generation; i++)
{
sum += i;
}
return sum;
}
int checkNumberofDivisors(long long int number)
{
int divisorCount = 0;
for (long long int i = 1; i <= number; i++)
{
if (number % i == 0)
{
divisorCount++;
}
}
return divisorCount;
}
int main()
{
long int iterator = 1;
long long int triangleNumber;
int numberofDivisors = 500;
int numDivis;
bool notOver500 = true;
while (notOver500)
{
triangleNumber = generateTriangleNumber(iterator);
numDivis = checkNumberofDivisors(triangleNumber);
//cout << triangleNumber << " " << numDivis << endl;
if (numDivis >= numberofDivisors)
notOver500 = false;
else
iterator += 1;
}
cout << triangleNumber;
pause();
}Last updated