19 lines
507 B
Text
19 lines
507 B
Text
% Bitwise and
|
|
is_even_bitwise(I) = cond(I /\ 1 == 0, true, false).
|
|
|
|
% Modulo
|
|
is_even_mod(I) = cond(I mod 2 == 0, true, false).
|
|
|
|
% Remainder
|
|
is_even_rem(I) = cond(I rem 2 == 0, true, false).
|
|
|
|
yes_or_no(B) = YN =>
|
|
B = true, YN = "Yes";
|
|
B = false, YN = "No".
|
|
|
|
main :-
|
|
foreach (I in 2..3)
|
|
printf("%d is even? %s\n", I, yes_or_no(is_even_bitwise(I))),
|
|
printf("%d is even? %s\n", I, yes_or_no(is_even_mod(I))),
|
|
printf("%d is even? %s\n", I, yes_or_no(is_even_rem(I)))
|
|
end.
|