コラッツ予想がとけたらいいな2

自分の考察を書いていきます。

3*3魔方陣は1種類しか存在しない by Egison

Egisonでも出来たので報告します。

第一段階

関数fifteenで、1..9のうち、和が15になる三数を選びます。

第二段階

関数fifTripleで、fifteenから、任意の三要素({{1 5 9} {1 6 8} {2 4 9}}とか)の組み合わせを得ます。

第三段階

関数makeMagicで、fifTripleのから、縦と斜めの和が15になるものをパターンマッチします。
数字が重複するものもはじきます。

実行に15分ぐらいかかります。
メモリも3GBぐらい食います。

Haskellと同様に、解は8個出力されます。

19/03/21追記

3つconsするmatcherを作って、書き直しました。
実行時間8分、消費メモリ250MBまで削減できました。
これは、matcherの効果というよりも、fifteenunique/mで絞ったのが大きいです。

.
.