# Muuttujat:
# X = alkuarvo
# A = apumuuttuja laskentaan
# B = apumuuttuja laskentaan
# C = apumuuttuja laskentaan
CLEAR A
CLEAR B
CLEAR C
# Pääsilmukka: jatketaan kun X != 1
REPEAT 1000 TIMES ( # tarpeeksi suuri silmukka, päättyy kun X = 1
PRINT X
# Tarkistetaan onko X parillinen
CLEAR A
CLEAR B
REPEAT X TIMES (
INCREASE A
INCREASE B
REPEAT 2 TIMES (
CLEAR C
)
)
# Jos A mod 2 = 0 -> X on parillinen
# Toteutetaan jakaminen kahdella
CLEAR X
REPEAT B TIMES (
INCREASE X
REPEAT 2 TIMES (
CLEAR C
)
)
# Jos A mod 2 = 1 -> X on pariton
# Toteutetaan X = 3*X + 1
CLEAR B
REPEAT X TIMES (
INCREASE B
INCREASE B
INCREASE B
)
INCREASE B
CLEAR X
REPEAT B TIMES (
INCREASE X
)
# Lopetetaan, jos X = 1
REPEAT X TIMES (
REPEAT 0 TIMES () # tyhjä, pääsilmukka jatkaa
)
)