Files
2018-10-16 21:32:40 +05:30

37 lines
1.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: Sum square difference
localeTitle: 和方差
---
## 问题6求和方差
### 方法:
* 前n个自然数的总和可以使用以下公式计算
* ![n个数的总和](https://wikimedia.org/api/rest_v1/media/math/render/svg/99476e25466549387c585cb4de44e90f6cbe4cf2)
* n个自然数的平方和可以使用以下公式计算
* ![n个正方形的总和](https://wikimedia.org/api/rest_v1/media/math/render/svg/ae043bef33d41161541238bdbf4feca9f5e179dd)
* 我们可以使用上面的公式计算值并减去它们以得到结果。
### 解:
```js
function sumSquareDifference(n) {
const sumOfN = (n*(n+1))/2;
const sumOfNSquare = (n*(n+1)*(2*n+1))/6;
//** is exponentaial operator added in ES7, it's equivalent to Math.pow(num, 2)`
return (sumOfN ** 2) - sumOfNSquare;
}
```
* [运行代码](https://repl.it/@ezioda004/Problem-6-Sum-square-difference)
### 参考文献:
* [n个数字的总和 - 维基百科](https://en.wikipedia.org/wiki/1_%2B_2_%2B_3_%2B_4_%2B_%E2%8B%AF)
* [n平方数的总和 - 维基百科](https://en.wikipedia.org/wiki/Square_pyramidal_number)