2010-03-04 3 views
3

Une question simple, comment procéder pour déclarer une clause qui produirait le nombre spécifié +1 +2 et +3? J'ai essayé:Prolog - Déclaration des clauses arithmétiques

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. J'ai essayé d'utiliser 'est' pour le forcer à évaluer mais cela ne semble pas fonctionner. Toute aide serait appréciée.

Répondre

2

Essayez ceci:

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

ou

addup(X, X+1). 

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

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

addup(X, Y, X + Y). 

et demander avec addition (5, 6, X).

+1

Très bien, merci. – Dororo

Questions connexes