RE:面白いパズル

サイト検索を掘り下げてみると、 面白い仕事に出くわしたので、好きなプロローグでそれを解決するために10分を費やす喜びを否定できませんでした。



<br> % ((((1?2)?3)?4)?5)?6 <br> solve ( Formula ) :-<br> Signs = [+, -, *, //],<br> member ( Op1 , Signs ),<br> member ( Op2 , Signs ),<br> member ( Op3 , Signs ),<br> member ( Op4 , Signs ),<br> member ( Op5 , Signs ),<br> A = .. [ Op1 , 1, 2],<br> B = .. [ Op2 , A , 3],<br> C = .. [ Op3 , B , 4],<br> D = .. [ Op4 , C , 5],<br> Formula = .. [ Op5 , D , 6],<br> 35 = : = Formula .<br>







コードの結果:



?- findall(F, solve(F), L).

L = [ (1+2+3)*4+5+6, (1+2)*3*4+5-6, 1*2*3*4+5+6].








All Articles