freeCodeCamp/curriculum/challenges/italian/10-coding-interview-prep/project-euler/problem-6-sum-square-differ...

1.7 KiB
Raw Blame History

id title challengeType forumTopicId dashedName
5900f3721000cf542c50fe85 Problema 6: Somma differenza quadrata 1 302171 problem-6-sum-square-difference

--description--

La somma dei quadrati dei primi dieci numeri naturali è,

12 + 22 + ... + 102 = 385

Il quadrato della somma dei primi dieci numeri naturali è

(1 + 2 + ... + 10)2 = 552 = 3025

Da qui la differenza tra la somma dei quadrati dei primi dieci numeri naturali e il quadrato della somma è 3025 385 = 2640.

Trova la differenza tra la somma dei quadrati dei primi n numeri naturali e il quadrato della loro somma.

--hints--

sumSquareDifference(10) dovrebbe restituire un numero.

assert(typeof sumSquareDifference(10) === 'number');

sumSquareDifference(10) dovrebbe restituire 2640.

assert.strictEqual(sumSquareDifference(10), 2640);

sumSquareDifference(20) dovrebbe restituire 41230.

assert.strictEqual(sumSquareDifference(20), 41230);

sumSquareDifference(100) dovrebbe restituire 25164150.

assert.strictEqual(sumSquareDifference(100), 25164150);

--seed--

--seed-contents--

function sumSquareDifference(n) {

  return true;
}

sumSquareDifference(100);

--solutions--

const sumSquareDifference = (number)=>{
  let squareOfSum = Math.pow(sumOfArithmeticSeries(1,1,number),2);
  let sumOfSquare = sumOfSquareOfNumbers(number);
 return squareOfSum - sumOfSquare;
}

function sumOfArithmeticSeries(a,d,n){
  return (n/2)*(2*a+(n-1)*d);
}

function sumOfSquareOfNumbers(n){
 return (n*(n+1)*(2*n+1))/6;
}