Farey sequence: Difference between revisions
Content deleted Content added
Farey sequence in BASIC256 |
Farey sequence in Yabasic |
||
Line 4,104: | Line 4,104: | ||
303963.55085 |
303963.55085 |
||
</pre> |
</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}}== |
=={{header|zkl}}== |