#include <iostream>
#include <vector>
using std::cout;
using std::endl;
//http://projecteuler.net/problem=6
//The sum of the squares of the first ten natural numbers is,
// 1^2 + 2^2 + ... + 10^2 = 385
//The square of the sum of the first ten natural numbers is,
// (1 + 2 + ... + 10)^2 = 552 = 3025
//Hence the difference between the sum of the squares of the first ten natural numbers and the square of the sum is 3025 385 = 2640.
//Find the difference between the sum of the squares of the first one hundred natural numbers and the square of the sum.
uint32_t resolveP6(uint32_t n)
{
uint32_t result = 0;
result = n * n * (n + 1) * (n + 1) / 4;
result -= n * (n + 1) * (2 * n + 1) / 6;
return result;
}
int main()
{
uint64_t result = resolveP6(100);
cout << "result=" << result << endl;
return 0;
}
http://projecteuler.net/problem=6 【参考解法】
最新推荐文章于 2022-03-08 17:31:19 发布