INCREASE U
REPEAT X TIMES ( # Sets Q to 1 if we should print anything after. if its zero, we dont do anything
INCREASE V
REPEAT O TIMES ( # Runs on second ( V > 1 ), sets Q = 1
CLEAR O
INCREASE Q
)
REPEAT U TIMES ( # Runs on first
CLEAR Q
INCREASE O
CLEAR U
)
)
PRINT X
CLEAR X
INCREASE E # Later should be replaced with 1000 or similar
INCREASE E
INCREASE E
INCREASE E
INCREASE E
INCREASE E
INCREASE E
INCREASE E
INCREASE E
INCREASE E
REPEAT E TIMES (
INCREASE E
INCREASE E
INCREASE E
INCREASE E
INCREASE E
INCREASE E
INCREASE E
INCREASE E
INCREASE E
)
REPEAT E TIMES (
INCREASE E
INCREASE E
INCREASE E
INCREASE E
INCREASE E
)
INCREASE L
INCREASE A
REPEAT E TIMES (
REPEAT Q TIMES (
# Check for divisible by 2, output to C, A AND J
REPEAT L TIMES ( # L tarkoittaa, että tarvitsee tarkistaa parillisuus
CLEAR J
CLEAR A
INCREASE A
CLEAR B
CLEAR C
REPEAT V TIMES (
REPEAT A TIMES (
CLEAR A
INCREASE B
INCREASE J
)
REPEAT C TIMES (
CLEAR C
INCREASE A
)
REPEAT B TIMES (
CLEAR B
INCREASE C
)
)
CLEAR L
)
INCREASE L
#PRINT A
#PRINT B
#PRINT C
#PRINT V
# Ennen C:tä, sillä C voi asettaa A = 1
REPEAT A TIMES ( # parillinen, V = V / 2
CLEAR V
CLEAR O
CLEAR U
INCREASE U
REPEAT J TIMES (
INCREASE V
# Määritetään, että täytyykö jatkaa tulostamista (onko V = 1)
REPEAT U TIMES ( # Runs on first
REPEAT O TIMES ( # Runs on second ( V > 1 ), sets Q = 1
INCREASE Q
CLEAR U
)
REPEAT U TIMES (
CLEAR Q
INCREASE O
)
)
)
# Emme tiedä onko parillinen vai ei, joten asetetaan seuraava kierros laskemaan parillisuus
# INCREASE L # Ei tarvitse tehdä mitään
)
REPEAT C TIMES ( # pariton, V = 3*V
# Tässä laskemme seuraavan arvon, tulostamme sen, jonka jälkeen lasketaaan myös toisiksi seuraavan arvon ja asetetaan se V:ksi
CLEAR N
REPEAT V TIMES (
INCREASE N
INCREASE N
INCREASE N
)
INCREASE N
# Nyt N on yhtä suuri kuin nykyinen tarvittava elementti
PRINT N
REPEAT J TIMES ( # Lisätään siihen J niin saadaan sitä seuraava arvo, J on tässä vaiheessa puolet arvosta (ensimmäisestä aloittaen)
INCREASE V # Tiedetään jo, että onko V jaollinen. Nyt tarvitsee tarkistaa vain uudet lisäykset
REPEAT A TIMES (
CLEAR A
INCREASE B
INCREASE J
)
REPEAT C TIMES (
CLEAR C
INCREASE A
)
REPEAT B TIMES (
CLEAR B
INCREASE C
)
)
#PRINT E
#PRINT V
#PRINT A
#PRINT C
CLEAR L # Ei tarvite tarkistaa parillisuutta
)
PRINT V
)
)