1
exercism fetch ruby alphametics

Alphametics

Write a function to solve alphametics puzzles.

Alphametics is a puzzle where letters in words are replaced with numbers.

For example SEND + MORE = MONEY:

1
2
3
4
  S E N D
  M O R E +
-----------
M O N E Y

Replacing these with valid numbers gives:

1
2
3
4
  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.

For running the tests provided, you will need the Minitest gem. Open a terminal window and run the following command to install minitest:

1
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.

In order to run the test, you can run the test file from the exercise directory. For example, if the test suite is called hello_world_test.rb, you can run the following command:

1
ruby hello_world_test.rb

To include color from the command line:

1
ruby -r minitest/pride hello_world_test.rb

Submitting Incomplete Solutions

It's possible to submit an incomplete solution so you can see how others have completed the exercise.