J'ai une petite question. J'ai besoin de faire un prédicat qui compte d'un nombre naturel à un autre nombre naturel. Je dois aussi mettre en place une vérification, à savoir que le second intervalle est plus grand que le premier. Cependant je me suis coincé pendant mon chemin.Prolog, en comptant à partir d'un intervalle; (SWI-PROLOG)
Voici mon code (SWI-Prolog)
count(O, _, O).
count(A, B, C) :- count(A, B, D), C is D+1, C =< B.
Il genre de travaux ainsi que, je peux obtenir les résultats C=1, C=2, C=3, C=4
si je tape dans count(1, 4, C).
Mais je suis coincé à la fin, il en résultera une erreur avec débordement de pile.
La question est comment puis-je faire pour arrêter? J'ai essayé presque tout. = (
Merci pour votre réponse
'countAtoB (9,1, I) .' réussit. Cela n'a pas beaucoup de sens. – false
'countAtoB (9,1,1000) .' réussit également. – false
Merci de l'avoir signalé. Il ne m'est jamais venu à l'esprit de vérifier les arguments invalides. J'ai examiné mon message et apporté les corrections appropriées. –