Menu
Coddy logo textTech

Sfida: somma di numeri

Fa parte della sezione Fondamenti del percorso Dart di Coddy. Lezione 93 di 94.

challenge icon

Sfida

Facile

In questa sfida, creerai una funzione che calcola la somma dei numeri in una lista in base a determinate condizioni.

Hai una lista di numeri interi e devi completare la funzione sumWithCondition, che somma solo i numeri che soddisfano criteri specifici.

La funzione dovrebbe:

  • Calcolare la somma di tutti i numeri nella lista maggiori del valore threshold
  • Smettere di aggiungere numeri immediatamente dopo che la somma supera il valore maxSum (la somma finale può essere maggiore di maxSum)
  • Restituire la somma finale

Importante: La funzione smette di aggiungere numeri dopo aver aggiunto un numero che fa superare alla somma maxSum. Ciò significa che il risultato finale può essere maggiore di maxSum.

Esempio: Se i numeri maggiori di threshold sono [15, 20, 25, 30] e maxSum è 50:

  • Aggiungi 15: somma = 15 (continua)
  • Aggiungi 20: somma = 35 (continua)
  • Aggiungi 25: somma = 60 (supera 50, quindi fermati qui)
  • Risultato: 60 (non 50)

Provalo tu

void main() {
  // Casos de prueba
  List<int> numbers = [5, 10, 15, 20, 25, 30];
  
  // Suma los números mayores que 12, con una suma máxima de 50
  int result = sumWithCondition(numbers, 12, 50);
  print('Sum of numbers > 12 (max 50): $result');
  
  // Suma los números mayores que 8, con una suma máxima de 100
  result = sumWithCondition(numbers, 8, 100);
  print('Sum of numbers > 8 (max 100): $result');
}

// TODO: Completa esta función para sumar números según las condiciones
int sumWithCondition(List<int> numbers, int threshold, int maxSum) {
  int sum = 0;
  
  // TODO: Recorre la lista numbers
  // TODO: Añade a sum solo los números mayores que threshold
  // TODO: Deja de añadir si sum supera maxSum
  
  return sum;
}

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Dart online