我试图找到如何在脚本中找到解决方案的数量。我当前的脚本是:
ksol(K,ST) :- length(L1,K), maketemplate(L1,ST,K), kset(Kset,K),
asserta( (qn(K))),asserta( (st(ST))), asserta( (kset(Kset)) ).
% number of queens, solution template
maketemplate([],[],_K).
maketemplate([X|Rest],[N1/X|RT],K) :- maketemplate(Rest,RT,K),
length([X|Rest],N),N1 is K-N+1,!.
kset([],0).
kset([N|Rest],N) :-N1 is N-1, kset(Rest,N1),!.
solution(L) :- st(L), sol(L).
sol([8]).
sol([Q|Queens]) :- sol(Queens),
Q=_X/Y, kset(Kset),member(Y,Kset),
noattack(Q,Queens).
更具体地说,在这个脚本中,我试图查看 prolog 为 8 个皇后生成了多少解决方案。有人能帮我解决这个问题吗?