Il a fallu que je farfouille dans de vieux dossiers, mais si tu aime le prolog, en voilà un petit bout :
%%%%%%%%%%%%%%%%%%%%%%%%% Reines.pl%% Comment placer N reines sur un echiquier NxN% necessaire pour between/3:-lib(util).caseLibre(_,[],_).caseLibre(R,[T|L],N):-pasPrise(R,T,N),MisN+1,caseLibre(R,L,M).pasPrise(R,T,N):-R=\=T,SisT+N,S=\=R,UisT-N,U=\=R.solution([],_).solution([T|L],N):-solution(L,N),between(1,N,T),caseLibre(T,L,1).solGraph(L,N):-length(L,N),genSol(L,N).genSol(L,N):-solution(L,N),!,afficheReine(L,N).afficheReine([],_):-nl.afficheReine([T|L],N):-MisN,printLine(T,M),afficheReine(L,N).printLine(1,N):-write('R '),MisN-1,printLine(0,M).printLine(0,N):-N<1,nl.printLine(0,N):-write('x '),MisN-1,printLine(0,M).printLine(T,N):-write('x '),UisT-1,MisN-1,printLine(U,M).
C'est bien vieux, et probablement pas du tout optimal. C'est pour résoudre le Problème des huit dames
Je ne sais même pas si ça passe avec du prolog moderne.
[^] # Re: Prolog
Posté par _kaos_ . En réponse au journal Explorer des langages de programmation - édition 2020. Évalué à 4. Dernière modification le 27 avril 2020 à 12:17.
Salut,
Il a fallu que je farfouille dans de vieux dossiers, mais si tu aime le prolog, en voilà un petit bout :
C'est bien vieux, et probablement pas du tout optimal. C'est pour résoudre le Problème des huit dames
Je ne sais même pas si ça passe avec du prolog moderne.
Matricule 23415