Fractran: Difference between revisions
m
→{{header|Julia}}
Line 2,718:
using .Iterators: filter, map, take
struct Fractran
rs::Vector{Rational{BigInt}}
i₀::BigInt
limit::Int
end
Base.iterate(f::Fractran, i = f.i₀) =
for r in f.rs
if iszero(i % r.den)
Line 2,733:
end
take(
map(trailing_zeros,
filter(ispow2, f))
f.limit)
Base.show(io::IO, f::Fractran) =
join(io, interpret(f), ' ')
macro code_str(s)
[eval(Meta.parse(
end
primes = Fractran(code"17/91
77/19
# Output
|