ก่อนอื่นตั้งชื่อก้อนหินว่า s_1, s_2, s_3,..., s_12
 
ก่อนอื่นตั้งชื่อก้อนหินว่า s_1, s_2, s_3,..., s_12
   −
*****ชั่งครั้งที่ 1*****
+
<nowiki>*****ชั่งครั้งที่ 1*****</nowiki>
{s_1,...,s_4} กับ {s_5,...,s_8}
+
'''{s_1,...,s_4} กับ {s_5,...,s_8}'''
   −
*ถ้า หนักไม่เท่ากัน สมมุติว่า s_1,...,s_4 หนักกว่า เราจะรู้ว่า s_1,...,s_4 ไม่เป็นหินเบา และ s_5,...,s_8 ไม่เป็นหินหนัก (เรียกว่าข้อมูล AAAAA)
+
* ถ้า หนักไม่เท่ากัน สมมุติว่า s_1,...,s_4 หนักกว่า เราจะรู้ว่า s_1,...,s_4 ไม่เป็นหินเบา และ s_5,...,s_8 ไม่เป็นหินหนัก (เรียกว่าข้อมูล AAAAA)
    
เพราะว่า s_9 เป็นหินปกติ แบ่งหินออกเป็น 3 กลุ่ม {s_1,s_5,s_6}, {s_2,s_7,s_8} และ {s_3,s_4,s_9}
 
เพราะว่า s_9 เป็นหินปกติ แบ่งหินออกเป็น 3 กลุ่ม {s_1,s_5,s_6}, {s_2,s_7,s_8} และ {s_3,s_4,s_9}
   −
*******ชั่งครั้งที่ 2*******
+
<nowiki>*******ชั่งครั้งที่ 2*******</nowiki>
 
'''{s_1,s_5,s_6} กับ {s_2,s_7,s_8}'''
 
'''{s_1,s_5,s_6} กับ {s_2,s_7,s_8}'''
   −
**ถ้าเท่ากัน
+
* ถ้าเท่ากัน '''ชั่ง s_3 กับ s_9'''
   −
'''ชั่ง s_3 กับ s_9'''
+
** ถ้า s_3 หนักกว่า มันก็จะเป็นหินหนัก
 +
** ถ้า หนักเท่ากัน s_4 เป็นหินหนัก
   −
***ถ้า s_3 หนักกว่า มันก็จะเป็นหินหนัก
+
* ถ้าไม่เท่ากัน สมมุติว่า {s_1,s_5,s_6} หนักกว่า {s_2,s_7,s_8}
***ถ้า หนักเท่ากัน s_4 เป็นหินหนัก
+
จะได้ว่า s_5, s_6 เป็นหินเบาไม่ได้ และ s_2 เป็นหินหนักไม่ได้ เมื่อรวมกับข้อมูล (AAAAA) จะได้ว่า s_2,s_5,s_6 เป็นหินปกติ ว่าแล้วก็ '''ชั่ง s_7 กับ s_8'''
   Exception encountered, of type "Error"