Farey sequence: Difference between revisions

Farey sequence in Yabasic
(Farey sequence in BASIC256)
(Farey sequence in Yabasic)
Line 4,104:
303963.55085
</pre>
 
=={{header|Yabasic}}==
<lang yabasic>// Rosetta Code problem: https://rosettacode.org/wiki/Farey_sequence
// by Jjuanhdez, 06/2022
 
for i = 1 to 11
print "F", i, " = ";
farey(i, FALSE)
next i
print
for i = 100 to 1000 step 100
print "F", i;
if i <> 1000 then print " "; else print ""; : fi
print " = ";
farey(i, FALSE)
next i
end
 
sub farey(n, descending)
a = 0 : b = 1 : c = 1 : d = n : k = 0
cont = 0
 
if descending = TRUE then
a = 1 : c = n -1
end if
 
cont = cont + 1
if n < 12 then print a, "/", b, " "; : fi
 
while ((c <= n) and not descending) or ((a > 0) and descending)
aa = a : bb = b : cc = c : dd = d
k = int((n + b) / d)
a = cc : b = dd : c = k * cc - aa : d = k * dd - bb
cont = cont + 1
if n < 12 then print a, "/", b, " "; : fi
end while
 
if n < 12 then print else print cont using("######") : fi
end sub</lang>
{{out}}
<pre>Same as FreeBASIC entry.</pre>
 
=={{header|zkl}}==
2,131

edits