Menu
Coddy logo textTech

Herausforderung: Summe von Zahlen

Teil des Abschnitts Grundlagen der Dart-Journey von Coddy — Lektion 93 von 94.

challenge icon

Aufgabe

Einfach

In dieser Herausforderung erstellen Sie eine Funktion, die die Summe von Zahlen in einer Liste basierend auf bestimmten Bedingungen berechnet.

Sie haben eine Liste von Ganzzahlen und müssen die sumWithCondition-Funktion vervollständigen, die nur die Zahlen addiert, die bestimmte Kriterien erfüllen.

Die Funktion sollte:

  • Die Summe aller Zahlen in der Liste berechnen, die größer als der threshold-Wert sind
  • Das Hinzufügen von Zahlen sofort stoppen, nachdem die Summe den maxSum-Wert überschreitet (die endgültige Summe kann größer als maxSum sein)
  • Die endgültige Summe zurückgeben

Wichtig: Die Funktion stoppt das Hinzufügen von Zahlen nach dem Hinzufügen einer Zahl, die die Summe über maxSum hinausgehen lässt. Das bedeutet, dass das Endergebnis größer als maxSum sein kann.

Beispiel: Wenn Zahlen größer als threshold [15, 20, 25, 30] sind und maxSum 50 beträgt:

  • 15 hinzufügen: sum = 15 (fortsetzen)
  • 20 hinzufügen: sum = 35 (fortsetzen)
  • 25 hinzufügen: sum = 60 (überschreitet 50, also hier stoppen)
  • Ergebnis: 60 (nicht 50)

Probier es selbst

void main() {
  // Testfälle
  List<int> numbers = [5, 10, 15, 20, 25, 30];
  
  // Summiere Zahlen größer als 12, mit maximaler Summe von 50
  int result = sumWithCondition(numbers, 12, 50);
  print('Sum of numbers > 12 (max 50): $result');
  
  // Summiere Zahlen größer als 8, mit maximaler Summe von 100
  result = sumWithCondition(numbers, 8, 100);
  print('Sum of numbers > 8 (max 100): $result');
}

// TODO: Vervollständige diese Funktion, um Zahlen basierend auf Bedingungen zu summieren
int sumWithCondition(List<int> numbers, int threshold, int maxSum) {
  int sum = 0;
  
  // TODO: Durchlaufe die Liste der Zahlen
  // TODO: Füge nur Zahlen größer als threshold zur Summe hinzu
  // TODO: Stoppe das Hinzufügen, wenn sum maxSum überschreitet
  
  return sum;
}

Alle Lektionen in Grundlagen