2017-10

「虫食算」をプログラミングで解いてみよう


昔とある数学サイトに下記のような虫食算が公開されていた。

         A  
        AB  
       ABC  
      ABCD  
     ABCDE  
    ABCDEF  
   ABCDEFA  
+ ABCDEFAB  
--------------------  
  ALPHABET  


A、B、C、D、E、F、L、P、H、Tがそれぞれ異なる1桁の数字を表しており、
これを上記の筆算で計算して成り立つ10桁の組み合わせを求めよ、
というものである。
通常「虫食算」と言われると

 15  
+3■  
------  
 51  

というふうに、筆算内の一部が「虫食い」状態になっててわからないケースのものを想像するが、
この問題は筆算内の全ての数字が「虫食い」状態になっててわからないという(もはや「虫食い」ですらない)なかなか強烈な問題である。
「虫食算」という時点で分野的には「算数」になるのかもしれないが、
追求していくとなかなか奥が深くて難しい。(少なくとも「算数」しか知らなかった時代の俺ではこれは解けない…)
頑張れば解けるのかもしれないが、ふと、「これを解くプログラムをつくってみよう」と思い立ち、挑戦してみた。
ここでその記録を残す。


 


【障害記録】No.3:データ削除順序誤りによる夜間データ結果不正


自分が体験したシステム障害を紹介してトラウマを抉り返す自虐コーナー
※特定避けるため一部脚色・変更しているが、大体ほぼ実体験。

障害No障害分類No
(自分用)発生分類
アプリ/データ/ミドル/ハード案件名個人的ヤバイ度
(5段階評価)

3 B データ データ削除順序誤りによる夜間データ結果不正 ★★★★☆

 


 


【障害記録】No.2:多重明細の一つだけが不正表示


自分が体験したシステム障害を紹介してトラウマを抉り返す自虐コーナー
※特定避けるため一部脚色・変更しているが、大体ほぼ実体験。

障害No障害分類No
(自分用)発生分類
アプリ/データ/ミドル/ハード案件名個人的ヤバイ度
(5段階評価)

2 B アプリ 多重明細の一つだけが不正表示 ★☆☆☆☆