; 水罐拼图
(定义 (水-水壶-详细fcap tcap目标)
(让环((fjug公司0) (水壶0) (步骤0))
(显示 “步骤:”) (显示步骤)
(显示 “;fjug:”) (显示fjug公司)
(显示 “;tjug:”) (显示t罐)
(康德 ((=fjug目标)
(显示 “在fjug中完成;目标”) (换行符)
步骤)
((=tjug目标)
(显示 “完成;tjug中的目标”) (换行符)
步骤)
((=tjug tcap) ; “到”罐子装满;清空它
(显示 “装满;清空”) (换行符)
(环路fjug0 (+步骤1)))
((零?fjug公司)
(显示 “清空;填满”) (换行符)
(回路fcap tjug(+步骤1)))
(其他的
(显示 “;把fjug倒进tjug”) (换行符)
(让 ((x(最小值 (-tcap tjug)fjug公司)))
(环(-fjug x型) (+t罐x) (+步骤1)))))))
(定义 (水-jugs fcap tcap目标)
(让环((fjug公司0) (t罐0) (步骤0))
(康德 ((或 (=fjug目标) (=tjug目标))步骤)
((=tjug tcap) (环路fjug0 (+步骤1)))
((零?fjug公司) (环路fcap tjug(+步骤1)))
(其他的 (让 ((x(最小值 (-tcap tjug)fjug公司)))
(环(-fjug x型) (+t罐x) (+步骤1)))))))
(定义 (罐x y靶)
(如果 (肯定? (模目标(gcd公司x年)))#(f)
(最小值 (水-罐x y靶) (水-罐y x靶))))
(水-水壶-冗长的三 5 4) (换行符)
(水-水壶-冗长的5 三 4) (换行符)
(显示 (水壶三 5 4)) (换行符)
OyB3YXRlciBqdWdzIHB1enpsZQoKKGRlZmluZSAod2F0ZXItanVncy12ZXJib3NlIGZjYXAgdGNhcCB0YXJnZXQpCiAgKGxldCBsb29wICgoZmp1ZyAwKSAodGp1ZyOwKSAoc3RlcHMgMCkpCiAgICaoZGlzcGxheSAic3RlcDogIikgKGRpc3BsYXkgc3RlchmpCiAgICoZGlzc GxheSA iOyBmanVnSi公司AiKSAoZGlzcGxheSBmanVnKQogICAgKGRpc3BsYXkgIjsgdGp1ZzogIikgKGRpc3 BsYxkgdGp1zykKICAgIChjb25kICgoPSBmanVnIHRhcmdldCkKICAg ICAgICAgICAgKGRpc3BsYXkgIjsgZ9uZTsgdGFyZ2V0IGluIGZqdWciKSAobmV3bGluZSkKICAgICagICAgICAg3RlcHMpCiAgICAgICAoKD0gdGp1ZyB0YXJnZXQpCiAgIC AgICAgIAgICAg ICAgIChkaXNwbGF5ICI7IGRvbmU7IHRhcmdldCBpbiB0anVnIikgKG5ld2xpbm UpCiAgICAGICAgICAGIHN0ZXBzKQogICAgICagICagICAGICag ICAgKCg9IHRqdWcgdGNhcCkgOyAidG8iIGp1ZyBmdWxsOyBlbXB0eSBpdAogICAgICAgICAoZGlzcGxheSAiOyB0anVnIGZ1bGw7IGVtcHR5IGl0IikgKG5ld2xpbmUpCiAgICAgICAgIChsb29wIGZqdWcgMCAoKyBzdGVwcyAxKSkpCiAgICAgICAoKHplcm8/IGZqdWcpCiAgICAgICAgICAgIChkaXNwbGF5ICI7IGZqdWcgZW1wdHk7IGZpbGwgaXQiKSAobmV3bGluZSkKICAgICAgICAgKGxvb3AgZmNhcCB0anViniCgrIHN0ZXBzIDEpKSkKICAgICAgIChlbHNlCia gICAgICAgICAgIChkaXNwbGF5ICI7IHBvdXIgZmp1ZyBpbnRvIHRqdWciKSAobmV3bGluZSkKICAgICAgICAgICAgKGxldCAoKHggKG1pbiAoLSB0Y2FwIHRqdWcpIGZqdWCPKSkKICAgICAgICAgICAbG9vcCAoLSBmanVnIHgpICgrIHRqd WcgeCkgKCsgc3RlcHMgMSkpKSkKCihkZWZpbmUgKHdhdGVyLWp1Z3MgZmNhcCB0Y2WIHRhcmdlckKICAobGV0IGxvb3AgKChmanVnIDAPICh0anVnIApIChzdGVwcyAwKSkKICA gIChjb25kICgob3IgKD0gZmp1ZyB0YXJnZXQpICg9IHRqdWcgdGFyZ2V0KSkgc3RlcHMpCiAgICAgICAgICaoKD0gdGp1Zyb0Y2FwKSAobG9vcCBmanVnIDAgKCsgc3RlcHMgMSkpKQogICAgICAgICagKCh6ZXJvPyBmanVnKSAobG9vcCBmY2FwIHRqdWcgKCsgc3 RlcHMg MSkpkQogICagICAgKGvsc2UgKGxldCAoKHggKG1pbiAoLSB0Y2FWIHRqd WcpIGZqdWcpKSkKICAgICAgICAGKxvb3AgKCgZmp1ZyB4KSAoKyB0anVnIHgpICAgIHN0 ZXBzIDEpKSkpKSkpcgooZGVMaW5lIChqdWdziHggeSB0YXJnZXQpCiAgKGlmIChwb3NpdGl2ZT8gKG1vZHVsbyB0YXjnZXqgKGdjZCB4IHkpKSkgI2YKICAgIChtaW4gKHdhdGVyLWp1Z3MgeCB5IHRhcmdldCkgKHdhd GVylWp1Z 3MgeSB4IHRhcddCkpKSkKCih3YXRlci1qdWdzLXZlcmJvc2UgMyA1IDQpIChuZxdsaW5lKQood2F0ZXItanVncy12ZXJib3NlIDUgMyA0KSAobmV3bGluZSkKGRpc3BsYXkgKGp1ZmJvc2 UgMyA1 IDQpKSAobm V3bgluZSk=