RosettaCodeData/Task/Gray-code/Prolog/gray-code-1.pro
Ingy döt Net 776bba907c Sync
2013-10-27 22:24:23 +00:00

10 lines
159 B
Prolog

to_gray(N, G) :-
N0 is N >> 1,
G is N xor N0.
from_gray(G, N) :-
( G > 0
-> S is G >> 1,
from_gray(S, N0),
N is G xor N0
; N is G ).