『パズルで鍛えるアルゴリズム力』の第2章で紹介されている「油分け算」をPythonで取り組んでみました。
2_3_oil_solver.py
実行
10L, 7L, 3Lの壺を使って、10Lの壺に入った油10Lを10Lの壺に5L, 7Lの壺に5L, 3Lの壺に0Lの状態にするには、どのような手順で行えばいいか、以下で試しています。
% python 2_3_oil_solver.py 0 th: [10, 0, 0] 1 th: [3, 7, 0] 2 th: [3, 4, 3] 3 th: [6, 4, 0] 4 th: [6, 1, 3] 5 th: [9, 1, 0] 6 th: [9, 0, 1] 7 th: [2, 7, 1] 8 th: [2, 5, 3] 9 th: [5, 5, 0]