在GNU Prolog中编译失败 其他银行(东、西)。 其他银行(西、东)。 %农夫、狼、山羊、卷心菜 移动([X,X,山羊,卷心菜],狼[Y,Y,山羊,卷心菜]:-其他银行(X,Y)。 移动([X,狼,X,卷心菜],山羊,[Y,狼,Y,卷心菜]:-其他银行(X,Y)。 移动([X,狼,山羊,X],卷心菜[Y,狼,山羊,Y]):-其他银行(X,Y)。 移动([X,狼,山羊,卷心菜],无[Y,狼,山羊,卷心菜]:-其他银行(X,Y)。 安全检查(X,X,X)。 安全检查(X,X,X)。 安全状态([人、狼、山羊、卷心菜]):- 安全检查(人、羊、狼), 安全检查(人、山羊、卷心菜)。 溶液([e,e,e,e],])。 解决方案(配置[移动|其他移动]):- 移动(配置、移动、下一步配置), 安全状态(NextConfig), 解决方案(下一步配置、其他移动)。 %长度(X,7),溶液([w,w,w,w],X)。
在GNU Prolog中加载.pl文件时出现编译错误在GNU Prolog中编译失败 其他银行(东、西)。 其他银行(西、东)。 %农夫、狼、山羊、卷心菜 移动([X,X,山羊,卷心菜],狼[Y,Y,山羊,卷心菜]:-其他银行(X,Y)。 移动([X,狼,X,卷心菜],山羊,[Y,狼,Y,卷心菜]:-其他银行(X,Y)。 移动([X,狼,山羊,X],卷心菜[Y,狼,山羊,Y]):-其他银行(X,Y)。 移动([X,狼,山羊,卷心菜],无[Y,狼,山羊,卷心菜]:-其他银行(X,Y)。 安全检查(X,X,X)。 安全检查(X,X,X)。 安全状态([人、狼、山羊、卷心菜]):- 安全检查(人、羊、狼), 安全检查(人、山羊、卷心菜)。 溶液([e,e,e,e],])。 解决方案(配置[移动|其他移动]):- 移动(配置、移动、下一步配置), 安全状态(NextConfig), 解决方案(下一步配置、其他移动)。 %长度(X,7),溶液([w,w,w,w],X)。,prolog,river-crossing-puzzle,Prolog,River Crossing Puzzle,在GNU Prolog中加载.pl文件时出现编译错误 农民-狼-山羊-卷心菜问题你就快到了!用小写字母拼写时,wolf是一个常量(大写wolf是一个变量) 我已经更正了代码,但仍然给了我一个编译失败的错误。您是否在第二行move/3上收到了singleton Wolf的警告?提示这一行仍然有问题。C:/Users/SIDDHESH/OneDrive/Desktop/prolog_data/data.pl代表字节码。。。C:/Users/SIDDHESH/OneDrive/Desktop/prol
农民-狼-山羊-卷心菜问题你就快到了!用小写字母拼写时,wolf是一个常量(大写wolf是一个变量)
我已经更正了代码,但仍然给了我一个编译失败的错误。您是否在第二行
move/3
上收到了singleton Wolf
的警告?提示这一行仍然有问题。C:/Users/SIDDHESH/OneDrive/Desktop/prolog_data/data.pl代表字节码。。。C:/Users/SIDDHESH/OneDrive/Desktop/prolog_data/data.pl:5:29:语法错误:,或)预期1个错误编译失败编辑很奇怪。当我使用gplc
编译时,我在Wolf
上得到了一个单例警告。
other_bank(e,w).
other_bank(w,e).
% farmer,wolf,goat,cabbage
move([X,X,Goat,Cabbage],wolf,[Y,Y,Goat,Cabbage]) :- other_bank(X,Y).
move([X,Wolf,X,Cabbage],goat,[Y,Wolf,Y,Cabbage]) :- other_bank(X,Y).
move([X,Wolf,Goat,X],cabbage,[Y,Wolf,Goat,Y]) :- other_bank(X,Y).
move([X,Wolf,Goat,Cabbage],nothing,[Y,Wolf,Goat,Cabbage]):-other_bank(X,Y).
safety_check(X,X,_).
safety_check(X,_,X).
safe_status([Man,Wolf,Goat,Cabbage]):-
safety_check(Man,Goat,Wolf),
safety_check(Man,Goat,Cabbage).
solution([e,e,e,e],[]).
solution(Config,[Move|OtherMoves]):-
move(Config,Move,NextConfig),
safe_status(NextConfig),
solution(NextConfig,OtherMoves).
?- length(X,7),solution([w,w,w,w],X).
X = [goat,nothing,wolf,goat,cabbage,nothing,goat]