59 lines
1.4 KiB
Markdown
59 lines
1.4 KiB
Markdown
# Alphametics
|
|
|
|
Write a function to solve alphametics puzzles.
|
|
|
|
[Alphametics](https://en.wikipedia.org/wiki/Alphametics) is a puzzle where
|
|
letters in words are replaced with numbers.
|
|
|
|
For example `SEND + MORE = MONEY`:
|
|
|
|
```text
|
|
S E N D
|
|
M O R E +
|
|
-----------
|
|
M O N E Y
|
|
```
|
|
|
|
Replacing these with valid numbers gives:
|
|
|
|
```text
|
|
9 5 6 7
|
|
1 0 8 5 +
|
|
-----------
|
|
1 0 6 5 2
|
|
```
|
|
|
|
This is correct because every letter is replaced by a different number and the
|
|
words, translated into numbers, then make a valid sum.
|
|
|
|
Each letter must represent a different digit, and the leading digit of
|
|
a multi-digit number must not be zero.
|
|
|
|
Write a function to solve alphametics puzzles.
|
|
|
|
* * * *
|
|
|
|
For installation and learning resources, refer to the
|
|
[exercism help page](http://exercism.io/languages/ruby).
|
|
|
|
For running the tests provided, you will need the Minitest gem. Open a
|
|
terminal window and run the following command to install minitest:
|
|
|
|
gem install minitest
|
|
|
|
If you would like color output, you can `require 'minitest/pride'` in
|
|
the test file, or note the alternative instruction, below, for running
|
|
the test file.
|
|
|
|
Run the tests from the exercise directory using the following command:
|
|
|
|
ruby alphametics_test.rb
|
|
|
|
To include color from the command line:
|
|
|
|
ruby -r minitest/pride alphametics_test.rb
|
|
|
|
|
|
## Submitting Incomplete Solutions
|
|
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|