Comment puis-je accomplir ceci:somme de récursivité queue, puissance, gcd en prolog?
Donner une définition récursive de la queue pour chacun des prédicats suivants.
power(X,Y,Z)
: XY = Z.
gcd(X,Y,Z)
: Le plus grand commun diviseur de X et Y est Z.
sum(L,Sum)
: Somme est la somme des éléments de L.
jusqu'à présent, je l'ai fait, mais pas sûr si cela est exact
power(_,0,1) :- !.
power(X,Y,Z) :- Y1 is Y - 1,power(X,Y1,Z1),Z is X * Z1.
sum(void,0).
sum(t(V,L,R),S) :- sum(L,S1),sum(R,S2), S is V + S1 + S2.
Si vous n'êtes pas sûr que c'est correct, ESSAYEZ-LE. –
Frank: si vous indentez le texte 4 espaces, il le formatera en code. Modifiez votre question et essayez-la. Le point d'interrogation orange dans la barre d'outils de l'éditeur est lié à un document avec un autre balisage de mise en forme. – outis