#include <iostream>
#include <math.h>
using namespace std;
int64_t triangle_numbers(int n)
{
int64_t sum=0;
for (int i = 1; i <= n; ++i)
sum += i;
return sum;
}
int num_of_divisors(int64_t x)
{
int count = 0;
for (int i = 1; i <= sqrt(x); ++i)//sqrt()尼玛很重要
{
if (x%i == 0)
{
count++;
}
}
return 2*count;//优化啊啊啊啊
}
int main()
{
int num = 1;
while (num_of_divisors(triangle_numbers(num)) <= 500)
{
++num;
}
cout << triangle_numbers(num)<<endl<<num<<endl;
system("pause");
}
转载于:https://my.oschina.net/u/3772904/blog/1803131