J'ai ceci:GNU Prolog - table de multiplication
:- dynamic(times/3).
mult :- mult([0,1,2,3,4,5,6,7,8,9]).
mult(Num) :-
append(L1,[X|R1],Num),
append(L2,[Y|R2],Num),
Prod is X*Y,
assertz(times(X,Y,Prod)),fail.
est-il une meilleure façon de le faire. Créer une table de multiplication par exemple avec les temps (X, Y, XY) faits.
Alors que cela fonctionne, je me demandais s'il y avait un moyen de le faire sans l'échec, parce que quand je n'ai pas l'échec, il vient juste avec vrai? pour plus de réponses. Je veux juste qu'il passe toutes les réponses sans demander.