Fractran: Difference between revisions
Content added Content deleted
(add RPL) |
|||
Line 2,727: | Line 2,727: | ||
iterate(f::Fractran, i = f.i₀) = |
iterate(f::Fractran, i = f.i₀) = |
||
for r in f.rs |
for r in f.rs |
||
if iszero(i % r.den |
if iszero(i % r.den) |
||
i = i ÷ r.den * r.num |
i = i ÷ r.den * r.num |
||
return |
return i, i |
||
end |
end |
||
end |
end |
||
Line 2,741: | Line 2,741: | ||
end |
end |
||
# Example FRACTRAN program generating primes |
|||
primes = Fractran(code"17/91, 78/85, 19/51, 23/38, 29/33, 77/29, 95/23, |
primes = Fractran(code"17/91, 78/85, 19/51, 23/38, 29/33, 77/29, 95/23, |
||
77/19, 1/17, 11/13, 13/11, 15/14, 15/2, 55/1", 2) |
77/19, 1/17, 11/13, 13/11, 15/14, 15/2, 55/1", 2) |