# X sisältää alkuarvon
# Apumuuttujat: A, B, C
# Aloitetaan tulostuksella
PRINT X
REPEAT 1000 TIMES (
# Tarkistetaan onko X = 1
CLEAR A
INCREASE A
REPEAT X TIMES ( CLEAR B INCREASE B )
# Jos X = 1, B = X, muuten B > 1
# Jos X = 1, ei tehdä muuta (jatketaan seuraavaan iterointiin)
# Parillinen vai pariton?
CLEAR C
REPEAT X TIMES (
INCREASE C
INCREASE C
)
# Nyt C = 2*X
CLEAR B
REPEAT C TIMES ( INCREASE B )
# Parillinen jos B = C (2*X = B), muuten pariton
# Parillinen: X = X / 2
CLEAR A
REPEAT X TIMES ( INCREASE A )
CLEAR X
REPEAT A TIMES (
INCREASE X
INCREASE X
)
# Nyt X on parillinen /2
# Pariton: X = 3*X + 1
CLEAR B
REPEAT X TIMES (
INCREASE B
INCREASE B
INCREASE B
INCREASE B
)
CLEAR X
REPEAT B TIMES ( INCREASE X )
# Tulostetaan uusi X
PRINT X
# Lopetetaan, jos X = 1
)