トラック
/
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

これは、それぞれの文字が異なる数字に置き換えられ、単語を数字に変換すると正しい足し算になるからです。

それぞれの文字は異なる数字を表す必要があり、複数桁の数の先頭の数字は0であってはいけません。

ヒント

  • テキストを解析するには、FParsecライブラリを使ってみるとよいでしょう。
  • この演習は総当たりのアルゴリズムでも解けますが、実行時のパフォーマンスが悪くなる可能性があります。 もっと洗練された解法を探してみましょう。ヒント:学校で習う筆算の足し算のアルゴリズムを試してみるとよいでしょう。
GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
F# Exercism

アルファメティックスを始める準備はできましたか?

Exercismに登録すれば、18個のコンセプト148個の演習、そして本物の人間によるメンタリングとともに、F#を学んでマスターできます。すべて無料です。