僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
1から9の問題を何人かに話すと、数字をくっつけた応用を
提案されたので、思いついて
実装。
演算子に空白文字を加え、evalする前に
空白を全部削除する。
$ python3 dumb+space.py | wc -l 101
$ python3 dumb+space.py 1+2+3+4+5+6+7+8*9 = 100 1+2+3-4+5+6+78+9 = 100 1+2+3-4*5+6*7+8*9 = 100 1+2+3-45+67+8*9 = 100 1+2+3*4-5-6+7+89 = 100 . . . 123+4-5+67-89 = 100 123+4*5-6*7+8-9 = 100 123+45-67+8-9 = 100 123-4-5-6-7+8-9 = 100 123-45-67+89 = 100
割り算を含んだ解は23個も出た。
12/3/4+5*6+78-9 = 100.0 など。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。