26 lines
469 B
Plaintext
26 lines
469 B
Plaintext
native scala.collection.mutable.Queue
|
|
|
|
val hamming =
|
|
q2 = Queue()
|
|
q3 = Queue()
|
|
q5 = Queue()
|
|
|
|
def enqueue( n ) =
|
|
q2.enqueue( n*2 )
|
|
q3.enqueue( n*3 )
|
|
q5.enqueue( n*5 )
|
|
|
|
def stream =
|
|
val n = min( min(q2.head(), q3.head()), q5.head() )
|
|
|
|
if q2.head() == n then q2.dequeue()
|
|
if q3.head() == n then q3.dequeue()
|
|
if q5.head() == n then q5.dequeue()
|
|
|
|
enqueue( n )
|
|
n # stream()
|
|
|
|
for q <- [q2, q3, q5] do q.enqueue( 1 )
|
|
|
|
stream()
|