Menu
Coddy logo textTech

Wyzwanie: suma liczb

Część sekcji Podstawy ścieżki Dart w Coddy. Lekcja 93 z 94.

challenge icon

Wyzwanie

Łatwy

W tym wyzwaniu utworzysz funkcję, która oblicza sumę liczb z listy na podstawie określonych warunków.

Masz listę liczb całkowitych i musisz uzupełnić funkcję sumWithCondition, która dodaje tylko liczby spełniające określone kryteria.

Funkcja powinna:

  • Obliczać sumę wszystkich liczb z listy, które są większe od wartości threshold
  • Natychmiast przestać dodawać liczby, gdy suma przekroczy wartość maxSum (końcowa suma może być większa niż maxSum)
  • Zwracać końcową sumę

Ważne: Funkcja przestaje dodawać liczby po dodaniu liczby, która powoduje przekroczenie przez sumę wartości maxSum. Oznacza to, że końcowy wynik może być większy niż maxSum.

Przykład: Jeśli liczby większe od threshold to [15, 20, 25, 30], a maxSum wynosi 50:

  • Dodaj 15: suma = 15 (kontynuuj)
  • Dodaj 20: suma = 35 (kontynuuj)
  • Dodaj 25: suma = 60 (przekracza 50, więc tutaj zakończ)
  • Wynik: 60 (nie 50)

Spróbuj swoich sił

void main() {
  // Przypadki testowe
  List<int> numbers = [5, 10, 15, 20, 25, 30];
  
  // Zsumuj liczby większe niż 12, przy maksymalnej sumie 50
  int result = sumWithCondition(numbers, 12, 50);
  print('Sum of numbers > 12 (max 50): $result');
  
  // Zsumuj liczby większe niż 8, przy maksymalnej sumie 100
  result = sumWithCondition(numbers, 8, 100);
  print('Sum of numbers > 8 (max 100): $result');
}

// TODO: Uzupełnij tę funkcję, aby sumowała liczby zgodnie z warunkami
int sumWithCondition(List<int> numbers, int threshold, int maxSum) {
  int sum = 0;
  
  // TODO: Przejdź przez listę numbers
  // TODO: Dodawaj do sum tylko liczby większe niż threshold
  // TODO: Przestań dodawać, jeśli sum przekroczy maxSum
  
  return sum;
}

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Dart online