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

Suma de múltiplos

Fácil

Introducción

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

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

Instrucciones

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

Los puntos que se otorgan dependen de dos cosas:

  • El nivel (un número) que completó el jugador.
  • El valor base de cada objeto mágico que el jugador recolectó 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 encuentra todos los múltiplos de ese valor que sean menores que el número del nivel.
  2. Combina los conjuntos de números.
  3. Elimina los duplicados.
  4. Calcula la suma de todos los números que quedan.

Veamos 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 ganó el jugador, necesitamos 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 es entender cómo iterar sobre un rango de números y también cómo revisar una Collection en busca de los múltiplos que sean divisibles por un número. Prueba a usar el Spotter para buscar clases potenciales y explorar las categorías de métodos de esas clases.

Recuerda también que el entorno de Pharo está lleno de referencias cruzadas. Puedes hacer clic 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 una pestaña nuevas
Pharo Exercism

¿Todo 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.