24 game/Solve: Difference between revisions

→‎{{header|Picat}}: Added tags + removed space
(→‎{{header|Picat}}: Added tags + removed space)
Line 6,214:
 
=={{header|Picat}}==
{{trans|Raku}}
<lang Picat>import util.
 
Line 6,257 ⟶ 6,258:
R := replace(R, F,T.to_string())
end,
Res = R.</lang>
 
</lang>
 
Test:
 
{{out}}
<pre>
Picat> main
Line 6,290 ⟶ 6,288:
(8 * 6) / (7 - 5)
8 * (6 / (7 - 5))
len = 24</pre>
 
</pre>
 
Another approach:
Line 6,303 ⟶ 6,299:
_ = findall(Expr, solve_num2(Nums,Target)),
nl.
 
 
solve_num2(Nums, Target) =>
Line 6,342 ⟶ 6,337:
check(A,X,B,Y,C,Z,D,Target,Expr) =>
Expr = [A,X,"(","(",B,Y,C,")", Z,D,")"].to_string2(),
Target =:= Expr.eval().</lang>
</lang>
 
{{out}}
Test:
<pre>> main
 
<pre>
> main
6*(5+(7-8)) = 24
6*(7+(5-8)) = 24
Line 6,366 ⟶ 6,358:
8/((7-5)/6) = 24
(6*8)/(7-5) = 24
(8*6)/(7-5) = 24</pre>
 
</pre>
 
=={{header|PicoLisp}}==
495

edits