15 lines
296 B
Text
15 lines
296 B
Text
def farey( n ) =
|
|
res = seq()
|
|
a, b, c, d = 0, 1, 1, n
|
|
res += "$a/$b"
|
|
|
|
while c <= n
|
|
k = (n + b)\d
|
|
a, b, c, d = c, d, k*c - a, k*d - b
|
|
res += "$a/$b"
|
|
|
|
for i <- 1..11
|
|
println( "$i: ${farey(i).mkString(', ')}" )
|
|
|
|
for i <- 100..1000 by 100
|
|
println( "$i: ${farey(i).length()}" )
|