Треки
/
F#
F#
/
Вправи
/
Алфаметика
Алфаметика

Алфаметика

Складна

Вказівки

Дано головоломку-альфаметику, знайдіть правильний розвʼязок.

Альфаметика - це головоломка, у якій літери в словах замінюють на числа.

Наприклад, SEND + MORE = MONEY:

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

Якщо замінити літери на правильні числа, отримаємо:

  9 5 6 7
  1 0 8 5 +
-----------
1 0 6 5 2

Це правильно, тому що кожну літеру замінено на іншу цифру, а слова, перетворені на числа, дають правильну суму.

Кожна літера має позначати іншу цифру, а перша цифра багатоцифрового числа не може бути нулем.

Підказки

  • Щоб розібрати текст, можна спробувати скористатися бібліотекою FParsec.
  • Цю вправу можна розвʼязати алгоритмом грубої сили, але це, ймовірно, призведе до низької швидкодії. Спробуймо знайти витонченіше рішення. Підказка: можна спробувати алгоритм додавання стовпчиком, який зазвичай вивчають у школі.
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
F# Exercism

Час розпочати Алфаметика?

Зареєструйтеся на Exercism, щоб вивчати й опановувати F#, а також 18 концепцій148 вправ та справжнє наставництво від людей, і все це безкоштовно.