Menu
Coddy logo textTech

Вызов: Сумма чисел

Часть раздела Основы путешествия по Dart на Coddy — урок 93 из 94.

challenge icon

Задание

Легко

В этом вызове вы создадите функцию, которая вычисляет сумму чисел в списке на основе определенных условий.

У вас есть список целых чисел, и вам нужно завершить функцию sumWithCondition, которая суммирует только те числа, которые удовлетворяют определенным критериям.

Функция должна:

  • Вычислить сумму всех чисел в списке, которые больше значения threshold
  • Прекратить добавлять числа сразу после того, как сумма превысит значение maxSum (конечная сумма может быть больше maxSum)
  • Вернуть конечную сумму

Важно: Функция прекращает добавлять числа после добавления числа, которое вызывает превышение maxSum. Это означает, что конечный результат может быть больше maxSum.

Пример: Если числа больше threshold — [15, 20, 25, 30] и maxSum равно 50:

  • Add 15: sum = 15 (continue)
  • Add 20: sum = 35 (continue)
  • Add 25: sum = 60 (exceeds 50, so stop here)
  • Result: 60 (not 50)

Попробуйте сами

void main() {
  // Тестовые случаи
  List<int> numbers = [5, 10, 15, 20, 25, 30];
  
  // Сумма чисел больше 12, с максимальной суммой 50
  int result = sumWithCondition(numbers, 12, 50);
  print('Sum of numbers > 12 (max 50): $result');
  
  // Сумма чисел больше 8, с максимальной суммой 100
  result = sumWithCondition(numbers, 8, 100);
  print('Sum of numbers > 8 (max 100): $result');
}

// TODO: Завершите эту функцию для суммирования чисел на основе условий
int sumWithCondition(List<int> numbers, int threshold, int maxSum) {
  int sum = 0;
  
  // TODO: Пройдитесь циклом по списку чисел
  // TODO: Добавляйте в сумму только числа больше threshold
  // TODO: Прекратите добавление, если сумма превышает maxSum
  
  return sum;
}

Все уроки раздела Основы