EvgenyGG24
@EvgenyGG24
Изучаю JavaScript, Node.js

Посчитать сумму всех элементов от A до B? A может быть > B и < B?

В данном случае все работает хорошо, когда стартовое a < b, но если пользователь вводит наоборот b > a, цикл не работает.
function GetSum( a,b ){  
  var total = 0;
  for(var i = a; i <= b; i++){
    total += i;
  }
  return total;
}
  • Вопрос задан
  • 101 просмотр
Решения вопроса 3
@SANTA2112
const getSum = (a, b, result = 0) => {
  for (let i = Math.min(a, b); i <= Math.max(a, b); result += i++);
  return result;
}
Ответ написан
@EroticDeer
Вот, если я все правильно понял. При вводе(5,6) и при (6,5) ответ одинаовый
function getSum(a, b) {
	let total = 0;
	if (a < b) {
		for (let i = a; i <= b; i++) {
			total += i;
		}
	} else {
		for (let i = a; i >= b; i--) {
			total += i;
		}
	}
	return total;
}
console.log(getSum(6, 2));
Ответ написан
dollar
@dollar
Нужно просто добавить немного уличной магии. И всё заработает!
function GetSum(a, b) {
  if (b < a) { a = a + b; b = a - b; a = a - b; } //магия
  var total = 0;
  for(var i = a; i <= b; i++){
    total += i;
  }
  return total;
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы