Menu
Coddy logo textTech

Défi : Somme des nombres

Fait partie de la section Fondamentaux du Journey Dart de Coddy — leçon 93 sur 94.

challenge icon

Défi

Facile

Dans ce défi, vous créerez une fonction qui calcule la somme des nombres dans une liste en fonction de certaines conditions.

Vous avez une liste d'entiers, et vous devez compléter la fonction sumWithCondition qui additionne uniquement les nombres qui répondent à des critères spécifiques.

La fonction doit :

  • Calculer la somme de tous les nombres de la liste qui sont supérieurs à la valeur threshold
  • Arrêter d'ajouter des nombres immédiatement après que la somme dépasse la valeur maxSum (la somme finale peut être supérieure à maxSum)
  • Retourner la somme finale

Important : La fonction arrête d'ajouter des nombres après avoir ajouté un nombre qui fait dépasser la somme de maxSum. Cela signifie que le résultat final peut être supérieur à maxSum.

Exemple : Si les nombres supérieurs à threshold sont [15, 20, 25, 30] et que maxSum est 50 :

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

Essayez vous-même

void main() {
  // Cas de test
  List<int> numbers = [5, 10, 15, 20, 25, 30];
  
  // Somme des nombres supérieurs à 12, avec somme max de 50
  int result = sumWithCondition(numbers, 12, 50);
  print('Sum of numbers > 12 (max 50): $result');
  
  // Somme des nombres supérieurs à 8, avec somme max de 100
  result = sumWithCondition(numbers, 8, 100);
  print('Sum of numbers > 8 (max 100): $result');
}

// TODO: Compléter cette fonction pour sommer les nombres selon les conditions
int sumWithCondition(List<int> numbers, int threshold, int maxSum) {
  int sum = 0;
  
  // TODO: Parcourir la liste des nombres
  // TODO: Ajouter seulement les nombres supérieurs au seuil à la somme
  // TODO: Arrêter d'ajouter si la somme dépasse maxSum
  
  return sum;
}

Toutes les leçons de Fondamentaux