challenges/e1.pl

8 lines
309 B
Prolog

range(End, End, []) .
range(Start, End, [Start| Acc]) :- Next is Start + 1, range(Next, End, Acc).
divisors_3_5([], []).
divisors_3_5([X|Xs], [X|Ys]) :- 0 is X rem 3, divisors_3_5(Xs, Ys).
divisors_3_5([X|Xs], [X|Ys]) :- 0 is X rem 5, divisors_3_5(Xs, Ys).
divisors_3_5([X|Xs], Ys]) :- divisors_3_5(Xs, Ys).