Как это сделать:сумма рекурсии хвоста, мощность, gcd в прологе?
Дайте хвостовое рекурсивное определение для каждого из следующих предикатов.
power(X,Y,Z)
: XY = Z.
gcd(X,Y,Z)
: Наибольший общий делитель X и Y равна Z.
sum(L,Sum)
: Сумма является сумма элементов в L.
до сих пор я сделал это, но не уверен, если это правильно
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.
Если вы не уверены, что это правильно, ПРОВЕРЬТЕ ЭТО. –
Фрэнк: если вы вставляете текст в 4 пробела, он будет отформатировать его как код. Измените свой вопрос и попробуйте. Оранжевый знак вопроса в панели инструментов редактора ссылается на документ с другой разметкой форматирования. – outis