% Aritmetikai muveletek a prologban: +, -, *, //, mod
muveletek(A,B):- Ossz is A+B, OText=A+B,
write(OText), write(=), write(Ossz), nl,
Kul is A-B, KText=A-B, write(KText), write(=),
write(Kul), nl,
Szorz is A*B, SzText=A*B, write(SzText), write(=), write(Szorz), nl,
Hany is A//B, HText=A/B, write(HText), write(=),
write(Hany), nl,
Mod is A mod B, MText=A mod B, write(MText), write(=),
write(Mod), nl.
% A
write
/1
utasításról és a különböző
egyenlőségjelekről itt olvashatsz.
%----------------------------------------------------------------------------------------
% lnko(A,B,C): C az A és B legnagyobb közös
osztója.
% Kiszámítására az
Euklideszi algoritmust alkalmazzuk.
% X mod
Y az X
szám Y-nal vett osztási maradékát
számítja ki.
lnko(A,0,A).
lnko(A,B,C):- B>0, M is A mod B, lnko(B,M,C).
% Az első szabálynak ugyanaz a hatása, mintha a
%
lnko(A,0,C):- C is A.
% szabályt alkalmaztuk volna. Miért?