(1) 下载
  1. ; 水罐拼图
  2.  
  3. (定义 (-水壶-详细fcap tcap目标)
  4. (((fjug公司0) (水壶0) (步骤0))
  5. (显示 “步骤:”) (显示步骤)
  6. (显示 “;fjug:”) (显示fjug公司)
  7. (显示 “;tjug:”) (显示t罐)
  8. (康德 ((=fjug目标)
  9. (显示 “在fjug中完成;目标”) (换行符)
  10. 步骤)
  11. ((=tjug目标)
  12. (显示 “完成;tjug中的目标”) (换行符)
  13. 步骤)
  14. ((=tjug tcap) ; “到”罐子装满;清空它
  15. (显示 “装满;清空”) (换行符)
  16. (环路fjug0 (+步骤1)))
  17. ((零?fjug公司)
  18. (显示 “清空;填满”) (换行符)
  19. (回路fcap tjug(+步骤1)))
  20. (其他的
  21. (显示 “;把fjug倒进tjug”) (换行符)
  22. ( ((x(最小值 (-tcap tjug)fjug公司)))
  23. ((-fjug x型) (+t罐x) (+步骤1)))))))
  24.  
  25. (定义 (-jugs fcap tcap目标)
  26. (((fjug公司0) (t罐0) (步骤0))
  27. (康德 (( (=fjug目标) (=tjug目标))步骤)
  28. ((=tjug tcap) (环路fjug0 (+步骤1)))
  29. ((零?fjug公司) (环路fcap tjug(+步骤1)))
  30. (其他的 ( ((x(最小值 (-tcap tjug)fjug公司)))
  31. ((-fjug x型) (+t罐x) (+步骤1)))))))
  32.  
  33. (定义 (罐x y靶)
  34. (如果 (肯定? (目标(gcd公司x年)))#(f)
  35. (最小值 (-罐x y靶) (-罐y x靶))))
  36.  
  37. (-水壶-冗长的 5 4) (换行符)
  38. (-水壶-冗长的5 4) (换行符)
  39. (显示 (水壶 5 4)) (换行符)
标准输入
标准输入为空
标准输出
步长:0;fjug:0;tjug:0;fjug为空;填满它步骤:1;fjug:3;tjug:0;把fjug倒进tjug步骤:2;fjug:0;tjug:3;fjug为空;填满它步骤:3;fjug:3;tjug:3;把fjug倒进tjug步骤:4;fjug:1;tjug:5;tjug已满;清空它步骤:5;fjug:1;tjug:0;把fjug倒进tjug步骤:6;fjug:0;tjug:1;fjug为空;填满它步骤:7;fjug:3;tjug:1;把fjug倒进tjug步骤:8;fjug:0;tjug:4;完成;tjug中的目标步长:0;fjug:0;tjug:0;fjug为空;填满它步骤:1;fjug:5;tjug:0;把fjug倒进tjug步骤:2;fjug:2;tjug:3;tjug已满;清空它步骤:3;fjug:2;tjug:0;把fjug倒进tjug步骤:4;fjug:0;tjug:2;fjug为空;填满它步骤:5;fjug:5;tjug:2;把fjug倒进tjug步骤:6;fjug:4;tjug:3;完成;fjug中的目标6