13 lines
301 B
Text
13 lines
301 B
Text
go ?=>
|
|
member(N,1..11),
|
|
Farey = farey(N),
|
|
println(N=Farey),
|
|
fail,
|
|
nl.
|
|
go => true.
|
|
|
|
farey(N) = M =>
|
|
M1 = [0=$(0/1)] ++
|
|
[I2/J2=$(I2/J2) : I in 1..N, J in I..N,
|
|
GCD=gcd(I,J),I2 =I//GCD,J2=J//GCD].sort_remove_dups(),
|
|
M = [ E: _=E in M1]. % extract the rational representation
|