freeCodeCamp/guide/chinese/certifications/coding-interview-prep/project-euler/problem-6-sum-square-differ.../index.md

1.1 KiB
Raw Blame History

title localeTitle
Sum square difference 和方差

问题6求和方差

方法:

  • 前n个自然数的总和可以使用以下公式计算

  • n个数的总和

  • n个自然数的平方和可以使用以下公式计算

  • n个正方形的总和

  • 我们可以使用上面的公式计算值并减去它们以得到结果。

解:

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; 
 } 

参考文献: