Menu
Coddy logo textTech

Desafío: Suma de números

Parte de la sección Fundamentos del Journey de Dart de Coddy. Lección 93 de 94.

challenge icon

Desafío

Fácil

En este desafío, crearás una función que calcula la suma de números en una lista según ciertas condiciones.

Tienes una lista de enteros y debes completar la función sumWithCondition, que suma únicamente los números que cumplen criterios específicos.

La función debe:

  • Calcular la suma de todos los números de la lista que sean mayores que el valor de threshold
  • Dejar de sumar números inmediatamente después de que la suma supere el valor de maxSum (la suma final puede ser mayor que maxSum)
  • Devolver la suma final

Importante: La función deja de sumar números después de añadir un número que hace que la suma supere maxSum. Esto significa que el resultado final puede ser mayor que maxSum.

Ejemplo: Si los números mayores que threshold son [15, 20, 25, 30] y maxSum es 50:

  • Añadir 15: suma = 15 (continuar)
  • Añadir 20: suma = 35 (continuar)
  • Añadir 25: suma = 60 (supera 50, así que detenerse aquí)
  • Resultado: 60 (no 50)

Pruébalo tú mismo

void main() {
  // Casos de prueba
  List<int> numbers = [5, 10, 15, 20, 25, 30];
  
  // Sumar números mayores a 12, con suma máxima de 50
  int result = sumWithCondition(numbers, 12, 50);
  print('Sum of numbers > 12 (max 50): $result');
  
  // Sumar números mayores a 8, con 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 basados en condiciones
int sumWithCondition(List<int> numbers, int threshold, int maxSum) {
  int sum = 0;
  
  // TODO: Recorre la lista de números
  // TODO: Agrega solo números mayores al umbral a la suma
  // TODO: Detén la adición si la suma excede maxSum
  
  return sum;
}

Todas las lecciones de Fundamentos

Practica por tu cuenta: Compilador de Dart online