Question

Une simple question, comment pourrais-je aller sur la déclaration d'une clause qui produirait le nombre spécifié +1 +2 et +3? J'ai essayé:

addup(Thenumber,Thenumber+1).
addup(Thenumber,Thenumber+2).
addup(Thenumber,Thenumber+3).

mais quand je le lance avec par exemple, Thenumber = 5, il retourne à seulement 5 + 1 + 5 2 5 + 3. Je l'ai essayé d'utiliser « est » pour le forcer à évaluer, mais il ne semble pas fonctionner. Toute aide serait appréciée.

Était-ce utile?

La solution

Essayez ceci:

addup(X, Y) :- Y is X + 1.

ou

addup(X, X+1).

et vous la question devrait être AddUp (2, X)

alors X doit être 3. Si vous souhaitez paramétrer votre paramètre AddUp juste faire:

addup(X, Y, X + Y).

et demander à AddUp (5, 6, X).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top