Rutas
/
Pharo
Pharo
/
Ejercicios
/
Suma de múltiplos
Suma de múltiplos

Suma de múltiplos

Fácil

Introducción

Trabajas para una empresa que crea un juego en línea de fantasía y supervivencia.

Cuando un jugador termina un nivel, recibe puntos de energía. La cantidad de energía que se otorga depende de los objetos mágicos que el jugador haya encontrado mientras exploraba ese nivel.

Instrucciones

Tu tarea es escribir el código que calcula los puntos de energía que se otorgan a los jugadores cuando completan un nivel.

Los puntos otorgados dependen de dos cosas:

  • El nivel (un número) que ha completado el jugador.
  • El valor base de cada objeto mágico que el jugador ha recogido durante ese nivel.

Los puntos de energía se otorgan según las siguientes reglas:

  1. Para cada objeto mágico, toma el valor base y busca todos los múltiplos de ese valor que sean menores que el número de nivel.
  2. Combina los conjuntos de números.
  3. Elimina los duplicados.
  4. Calcula la suma de todos los números que quedan.

Vamos a ver un ejemplo:

El jugador completó el nivel 20 y encontró dos objetos mágicos con valores base de 3 y 5.

Para calcular los puntos de energía que gana el jugador, tenemos que encontrar todos los múltiplos únicos de estos valores base que sean menores que el nivel 20.

  • Múltiplos de 3 menores que 20: {3, 6, 9, 12, 15, 18}
  • Múltiplos de 5 menores que 20: {5, 10, 15}
  • Combina los conjuntos y elimina los duplicados: {3, 5, 6, 9, 10, 12, 15, 18}
  • Suma los múltiplos únicos: 3 + 5 + 6 + 9 + 10 + 12 + 15 + 18 = 78
  • Por lo tanto, el jugador gana 78 puntos de energía por completar el nivel 20 y encontrar los dos objetos mágicos con valores base de 3 y 5.

Nota

El truco de este ejercicio está en entender cómo iterar sobre un rango de números y también en comprobar si una Collection contiene múltiplos divisibles por un número. Prueba a usar el Spotter para buscar posibles clases y explorar las categorías de métodos de esas clases.

Recuerda también que el entorno de Pharo está muy interconectado mediante referencias cruzadas. Puedes hacer clic con el botón derecho en cualquier clase o método y explorar las «references» de una clase (para ver cómo podría crearse), así como los «senders» de un método (para ver cómo podría usarse).

Editar en GitHub El enlace se abre en una ventana o pestaña nueva
Pharo Exercism

¿Listo para empezar Suma de múltiplos?

Regístrate en Exercism para aprender y dominar Pharo con 50 ejercicios y mentoría humana real, todo gratis.