RSS

 

RSS


プログラム


三ケタ×三ケタを整数計画ソルバーで その2

  • いわいまさか
  • at 2019/6/05 19:08:57

先日、パズル懇話会で、「整数計画ソルバーで碁石ひろい」を解いたことを発表した。その後のコメントで「整数計画ソルバーで虫食算や覆面算は解けるか」を聞かれた。それをうけてやってみみた。
その1の内容はこちら 
三ケタ×三ケタを整数計画ソルバーで

その内容を全部つめこんだLPファイルがこちら。
mul3x3.lp

頭のケタの0チェックをやっていないので、このままソルバーにかけると、000 x 000 = 00000 という答えも正解となる。

虫食算や覆面算を解くためには、このベースに独自の条件を足していけばよい。

「虫食算・筆算」で検索して問題を見つける・・・あった。
http://www.manabu-oshieru.com/chugakujuken/sansu/mushikui.html
のページの「虫食い算の発展問題 その1」というのがぴったりなのでそれを題材で使わしてもらう。
・・・□4□
×・・□4□
――――――
・・□□1□
・・□□4
□□□□
――――――
□□0□□□

・・・ABC
×・・DEF
――――――
・・GHIJ
・KLMN
OPQR
――――――
STUVWX
にあてはめて

LPに数字の条件を足す。

 b=4
 e=4
 i=1
 k=0
 n=4
 u=0

それぞれの1番上位のケタは0にはならないので、それも入れとく。
 a0=0
 d0=0
 g0=0
 l0=0
 o0=0
 s0=0

scipにかけると。
246 x 549 = 135054 と出る。

別解チェックをするには、
「abc def が決まれば同じ答え」「1個でも違えば違う答え」なところに着目して、

 a2 + b4 + c6 + d5 + e4 + f9 <=5 

を付け加える。
そしてscipにかける。
と「no solution availavle」と他に答えがないことを示してくれる。



  • コメント (0)
  • トラックバック (0)
トラックバックURL :
http://www.iwai-masaka.jp/tb.cgi/56463