@@ -8,6 +8,7 @@
|
|||||||
between(Lower, Upper, X) :-
|
between(Lower, Upper, X) :-
|
||||||
must_be(integer, Lower),
|
must_be(integer, Lower),
|
||||||
must_be(integer, Upper),
|
must_be(integer, Upper),
|
||||||
|
can_be(integer, X).
|
||||||
between_(Lower, Upper, X).
|
between_(Lower, Upper, X).
|
||||||
|
|
||||||
between_(Lower, Upper, Lower) :-
|
between_(Lower, Upper, Lower) :-
|
||||||
@@ -15,7 +16,7 @@ between_(Lower, Upper, Lower) :-
|
|||||||
between_(Lower1, Upper, X) :-
|
between_(Lower1, Upper, X) :-
|
||||||
Lower1 < Upper,
|
Lower1 < Upper,
|
||||||
Lower2 is Lower1 + 1,
|
Lower2 is Lower1 + 1,
|
||||||
between(Lower2, Upper, X).
|
between_(Lower2, Upper, X).
|
||||||
|
|
||||||
enumerate_nats(I, I).
|
enumerate_nats(I, I).
|
||||||
enumerate_nats(I0, N) :-
|
enumerate_nats(I0, N) :-
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ append([X|L], R, [X|S]) :- append(L, R, S).
|
|||||||
memberchk(X, Xs) :- member(X, Xs), !.
|
memberchk(X, Xs) :- member(X, Xs), !.
|
||||||
|
|
||||||
reverse(Xs, Ys) :-
|
reverse(Xs, Ys) :-
|
||||||
( var(Ys) -> reverse(Xs, Ys, [], Xs)
|
( nonvar(Xs) -> reverse(Xs, Ys, [], Xs)
|
||||||
; reverse(Ys, Xs, [], Ys)
|
; reverse(Ys, Xs, [], Ys)
|
||||||
).
|
).
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user