覆面算
足し算の覆面算において、和の桁数が他の桁数より多い場合には繰り上がりが発生している。このことから最上位の文字を確定する(又は絞り込む)ことができる。
例題において、シに入る数字は百の位からの繰り上がりなので1しかありえない。
また、各桁で加えている数が同じなのに和が違う場合、繰り上がりが影響していると考えられる。
例題において、一の位も十の位も「ナ+ナ=○」の形になっているが、文字が異なっている。これは、一の位から十の位に繰り上がりがあるためである。
繰り上がりの有無によって文字の範囲を絞り込むこともある。
上の例から、「ナ+ナ」「バ+バ」は共に繰り上がる。このことから「ナ」「バ」は共に5以上である事が分かる。
コンピュータで覆面算を作成するプログラムが存在する。最も一般的なのは、単語群をデータとして渡すとその単語を組合せて問題を作るものである。
単語の組合せが限定される数詞覆面算ではコンピュータによる探索が一般的である。
10進法であれば、各文字に0~9の数字を当てはめて、式が成立することを確認すれば良いので、10! 通りの方法を確認することで解くことができる。一般的に r進法であれば、r! 通りの確認をすることで、コンピュータならば容易に解く事ができる。しかし、「何進法であるか」も入力の一部となっている問題については、2つの数字の加算についての問題がNP完全であることが証明されており、非常に難しいクラスに属する問題であると考えられている。