Skip to content

Commit

Permalink
Sync sum-of-multiples docs with problem-specifications (exercism#193)
Browse files Browse the repository at this point in the history
The sum-of-multiples exercise has been overhauled as part of a project
to make practice exercises more consistent and friendly.

For more context, please see the discussion in the forum, as well as
the pull request that updated the exercise in the problem-specifications
repository:

- https://forum.exercism.org/t/new-project-making-practice-exercises-more-consistent-and-human-across-exercism/3943
- exercism/problem-specifications#2249
  • Loading branch information
kytrinyx authored and glennj committed Apr 23, 2023
1 parent a6d5a61 commit 46e9d46
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 10 deletions.
29 changes: 19 additions & 10 deletions exercises/practice/sum-of-multiples/.docs/instructions.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,27 @@
# Instructions

Given a list of factors and a limit, add up all the unique multiples of the factors that are less than the limit.
All inputs will be greater than or equal to zero.
Your task is to write the code that calculates the energy points that get awarded to players when they complete a level.

## Example
The points awarded depend on two things:

Suppose the limit is 20 and the list of factors is [3, 5].
We need to find the sum of all unique multiples of 3 and 5 that are less than 20.
- The level (a number) that the player completed.
- The base value of each magical item collected by the player during that level.

Multiples of 3 less than 20: 3, 6, 9, 12, 15, 18
Multiples of 5 less than 20: 5, 10, 15
The energy points are awarded according to the following rules:

The unique multiples are: 3, 5, 6, 9, 10, 12, 15, 18
1. For each magical item, take the base value and find all the multiples of that value that are less than or equal to the level number.
2. Combine the sets of numbers.
3. Remove any duplicates.
4. Calculate the sum of all the numbers that are left.

The sum of the unique multiples is: 3 + 5 + 6 + 9 + 10 + 12 + 15 + 18 = 78
Let's look an example:

So, the answer is 78.
**The player completed level 20 and found two magical items with base values of 3 and 5.**

To calculate the energy points earned by the player, we need to find all the unique multiples of these base values that are less than or equal to level 20.

- Multiples of 3 up to 20: `{3, 6, 9, 12, 15, 18}`
- Multiples of 5 up to 20: `{5, 10, 15, 20}`
- Combine the sets and remove duplicates: `{3, 5, 6, 9, 10, 12, 15, 18, 20}`
- Sum the unique multiples: `3 + 5 + 6 + 9 + 10 + 12 + 15 + 18 + 20 = 98`
- Therefore, the player earns **98** energy points for completing level 20 and finding the two magical items with base values of 3 and 5.
6 changes: 6 additions & 0 deletions exercises/practice/sum-of-multiples/.docs/introduction.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Introduction

You work for a company that makes an online, fantasy-survival game.

When a player finishes a level, they are awarded energy points.
The amount of energy awarded depends on which magical items the player found while exploring that level.

0 comments on commit 46e9d46

Please sign in to comment.