มีคนถามว่า “3 11 13 18 27 36 82 231” เลข 8 ตัวนี้ เอาไปทำให้ได้ 88 ได้หรือเปล่า
http://www.pantip.com/cafe/wahkor/topic/X12419755/X12419755.html
ผมก็ลองใช้ Mathematica ช่วยครับ
ตามนี้
ops = {“+”, “-“, “*”, “/”};
opsls = Tuples[ops, 7];
numbers = {“3”, “11”, “13”, “18”, “27”, “36”, “82”, “231”};
SetSharedFunction[ParallelSow]
ParallelSow[expr_] := Sow[expr]
“88 = ” <> StringJoin @@ Riffle[numbers, opsls[[#]]] & /@
Reap[ParallelTable[If[ToExpression[StringJoin @@ Riffle[numbers, opsls[[i]]]] == 88, ParallelSow[i]], {i, 1, Length@opsls}]][[2, 1]]
{“88 = 3*11-13-18-27-36-82+231”}
numbers2 = {“1”, “7”, “13”, “18”, “27”, “36”, “82”, “231”};
“88=” <> StringJoin @@ Riffle[numbers2, opsls[[#]]] & /@
Reap[ParallelTable[If[ToExpression[StringJoin @@ Riffle[numbers2, opsls[[i]]]] == 88, ParallelSow[i]], {i, 1, Length@opsls}]][[2, 1]]
{“88=1-7+13*18-27+36+82-231”, “88=1*7+13-18-27-36-82+231”}