เขาว่าโจทย์เลขป.4

มีคนแชร์โจทย์นี้ในpantip โดยจากโจทย์ก็ให้หาว่า อักษรแต่ล่ะตัวแทนด้วยเลขอะไรบ้าง

ดูแล้วเด็กก็คงต้องเขียนโปรแกรมช่วยแล้วล่ะครับ 555 ผมลองเขียนโปรแกรมด้วยภาษา Wolfram สำหรับปัญหานี้ตามนี้ครับ

ls = Permutations[Range[0, 9], {8}];

SetSharedFunction[ParallelSow]
ParallelSow[expr_] := Sow[expr]

output = (ParallelTable[
      If[(FromDigits@{a, f, b, f} + FromDigits@{c, g, h, b} + 
               FromDigits@{d, a, f, g} + FromDigits@{a, e, a, b} == 
              FromDigits@{b, c, d, c}) /. {a -> #1, b -> #2, c -> #3, 
             d -> #4, e -> #5, f -> #6, g -> #7, h -> #8} & @@ # &@
        ls[[i]]
       ,
       ParallelSow[ls[[i]]]
       ]
      , {i, 1, Length@ls}
      ] // Reap)[[2, 1]];

คำตอบที่ได้ก็จะประมาณนี้ครับ

หรือให้แสดงผลสวย ๆ

Table[
  #[[1]] <> "+" <> #[[2]] <> "+" <> #[[3]] <> "+" <> #[[4]] <> 
     "=" <> #[[5]] &@(
    ToString /@ ({FromDigits@{a, f, b, f}, FromDigits@{c, g, h, b}, 
            FromDigits@{d, a, f, g}, FromDigits@{a, e, a, b}, 
            FromDigits@{b, c, d, c}} /. {a -> #1, b -> #2, c -> #3, 
            d -> #4, e -> #5, f -> #6, g -> #7, h -> #8} & @@ # &@
       output[[i]])), {i, 1, Length@output}] // TableForm

ก็จะได้

%d bloggers like this: