как вы можете дать два целых числа a и b, которые могут быть положительными или отрицательными, и найти сумму всех чисел между ними, включая их, и вернуть ее - PullRequest
0 голосов
/ 28 мая 2020

function getSum (a, b) {} // Итак, как вы справляетесь с этим

Ответы [ 5 ]

0 голосов
/ 28 мая 2020

Я думаю, вы можете просто использовать формулу в this topi c. Это даже не требует использования a для l oop. В вашем коде вы используете a вместо alpha и b вместо beta.

var num_1 = 20;
var num_2 = 30;

console.log( getSum(num_1, num_2) );

function getSum(a,b) {
    return (a+b)*(b-a+1)/2
}
0 голосов
/ 28 мая 2020

Просто нам нужно определить начальный и конечный индекс. и вы можете по умолчанию свой результат равным 0, иначе вы можете получить ошибку NaN.

function getSum(a, b) {
var startindex = a > b ? b : a;
var endindex = a > b ? a : b;

var result = 0;
for(var i = startindex; i <=  endindex; i++) {
result = result + i;
}
return result;
}
0 голосов
/ 28 мая 2020

Идея состоит в том, чтобы создать al oop между a и b и добавить их все в третью переменную.

Но сначала вам нужно определить, что является началом и концом l oop, я создаю min, max var для этого в зависимости от того, a> b или нет и l oop от min до max:

function getSum(a, b) {
  const min = a < b ? a : b;
  const max = a < b ? b : a;

  let sum = 0;
  for(let i = min; i <= max; i++) {
    sum += i;
  }
  return sum;
}
0 голосов
/ 28 мая 2020

Просто начните al oop от наименьшего числа до наибольшего числа. Продолжайте складывать все числа и возвращайте сумму.

0 голосов
/ 28 мая 2020

A for-loop вычисляет сумму.

Предполагается, что a

let sum = 0,
    a = -3,
    b = 4;
    
for (let i = a; i <= b; i++) {
  sum += i;
}

console.log(sum);
...