29 lines
654 B
Plaintext
29 lines
654 B
Plaintext
var str ="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"
|
|
const FractalProgram = str.split(',').map{.num} #=> array of rationals
|
|
|
|
func runner(n, callback) {
|
|
var num = 2
|
|
n.times {
|
|
callback(num *= FractalProgram.find { |f| f * num -> is_int })
|
|
}
|
|
}
|
|
|
|
func prime_generator(n, callback) {
|
|
var x = 0;
|
|
runner(Inf, { |num|
|
|
var l = num.log2
|
|
if (l.floor == l) {
|
|
callback(l.int)
|
|
++x == n && return nil
|
|
}
|
|
})
|
|
}
|
|
|
|
STDOUT.autoflush(true)
|
|
|
|
runner(20, {|n| print (n, ' ') })
|
|
print "\n"
|
|
|
|
prime_generator(20, {|n| print (n, ' ') })
|
|
print "\n"
|