Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- create(N,L):-
- create_list(N,[],L).
- create_list(0,L,L).
- create_list(N,R,L):-
- N>0,
- N1=N-1,
- create_list(N1,[N|R],L).
- create(N,L):-
- M is 2*N,
- create_list(N,M,L).
- create_list(N,M,[N|R]):-
- N < M,
- N1 = N+1, % note: check if your Prolog accepts is/2 instead
- create_list(N1,M,R).
- create_list(M,M,[]).
- create(From,Zs):-
- To #= 2*From-1,
- list_from_to(Zs,From,To).
- ?- create(4,Zs).
- Zs = [4,5,6,7] ;
- false.
- ?- create(N,[4,5,6,7]).
- N = 4.
- ?- create(N,[4,_,_,_]).
- N = 4.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement