freeCodeCamp/curriculum/challenges/portuguese/02-javascript-algorithms-an.../intermediate-algorithm-scri.../sum-all-numbers-in-a-range.md

1.2 KiB

id title challengeType forumTopicId dashedName
a3566b1109230028080c9345 Somar todos os números em um intervalo 5 16083 sum-all-numbers-in-a-range

--description--

Vamos passar um array de dois números. Retorne a soma desses dois números mais a soma de todos os números entre eles. O menor número nem sempre chegará primeiro.

Por exemplo, sumAll([4,1]) deve retornar 10 porque a soma de todos os números entre 1 e 4 (ambos incluídos) é 10.

--hints--

sumAll([1, 4]) deve ser um número.

assert(typeof sumAll([1, 4]) === 'number');

sumAll([1, 4]) deve retornar 10.

assert.deepEqual(sumAll([1, 4]), 10);

sumAll([4, 1]) deve retornar 10.

assert.deepEqual(sumAll([4, 1]), 10);

sumAll([5, 10]) deve retornar 45.

assert.deepEqual(sumAll([5, 10]), 45);

sumAll([10, 5]) deve retornar 45.

assert.deepEqual(sumAll([10, 5]), 45);

--seed--

--seed-contents--

function sumAll(arr) {
  return 1;
}

sumAll([1, 4]);

--solutions--

function sumAll(arr) {
  var sum = 0;
  arr.sort(function(a,b) {return a-b;});
  for (var i = arr[0]; i <= arr[1]; i++) {
    sum += i;
  }
  return sum;
}