%------------------------------------------------------ % less efficient %------------------------------------------------------ ev(0) . ev(N) :- M is N-1, M > 0, od(M). od(N) :- M is N-1, ev(M). tev(N) :- time(ev(N)). tod(N) :- time(od(N)). %------------------------------------------------------ % more efficient %------------------------------------------------------ even(0). even(X) :- M is floor(X/2)*2, M = X. odd(X) :- not(even(X)). teven(N) :- time(even(N)). todd(N) :- time(odd(N)).