Tracks
/
Julia
Julia
/
Exercises
/
Alphametics
Alphametics

Alphametics

Hard

Instructions

Given an alphametics puzzle, find the correct solution.

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

For example SEND + MORE = MONEY:

  S E N D
  M O R E +
-----------
M O N E Y

Replacing these with valid numbers gives:

  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.

Implementation

Note

You may (or may not!) want to call the function permutations(a, t) from Combinatorics.jl in your solution.

  • If working in the online editor, you can call permutations(a ,t) freely as it is already in the namespace. You can see the source code in the tab labeled permutations.jl.
  • If working locally, add include("permutations.jl") to the top of your solution file to access a version of permutations(a, t) located there.
Caution

If you use Combinatorics.jl v1.0.3 locally, permutations(a, t) is very slow on the large tests. Use either the provided file permutations.jl, upgrade to Combinatorics.jl v≥1.1.0 or "downgrade" to v1.0.2.

Edit via GitHub The link opens in a new window or tab
Julia Exercism

Ready to start Alphametics?

Sign up to Exercism to learn and master Julia with 35 concepts128 exercises, and real human mentoring, all for free.