PRINT X
INCREASE I
INCREASE I
INCREASE I
INCREASE I
INCREASE I
REPEAT I TIMES (
REPEAT I TIMES (
INCREASE I
)
)
REPEAT X TIMES (
REPEAT C TIMES (
INCREASE Y CLEAR C
)
INCREASE C
)
CLEAR C
# Y = X - 1
REPEAT Y TIMES (
CLEAR Y
INCREASE Y
)
# Y on nyt nolla jos X = 1, ja yksi muuten.
INCREASE R
REPEAT Y TIMES (
CLEAR Y
INCREASE L
# L for Loop variable. Handles breaking.
REPEAT I TIMES (
REPEAT L TIMES (
REPEAT X TIMES (
INCREASE B
REPEAT A TIMES (
CLEAR A
INCREASE O
CLEAR B
)
REPEAT B TIMES (
INCREASE A
CLEAR B
)
)
CLEAR A
CLEAR B
# O = round(X/2)
# PRINT O
INCREASE D
INCREASE D
REPEAT X TIMES (
INCREASE Z
)
REPEAT O TIMES (
REPEAT D TIMES (
REPEAT Z TIMES (
REPEAT C TIMES (
INCREASE Q
CLEAR C
)
INCREASE C
)
# Q = Z - 1 = X - 1
CLEAR Z
REPEAT Q TIMES (
INCREASE Z
)
CLEAR C
CLEAR Q
)
)
CLEAR D
# Z = X mod 2
# PRINT Z
INCREASE B
REPEAT Z TIMES (
INCREASE A
INCREASE A
INCREASE A
REPEAT A TIMES (
REPEAT X TIMES (
INCREASE T
)
)
INCREASE T
CLEAR A
CLEAR X
REPEAT T TIMES (
INCREASE X
)
CLEAR T
CLEAR B
)
REPEAT B TIMES (
CLEAR X
REPEAT O TIMES (
INCREASE X
)
CLEAR A
CLEAR B
)
CLEAR B
# BREAK LOGIIKKA
CLEAR L
REPEAT X TIMES (
INCREASE L
)
REPEAT L TIMES (
REPEAT C TIMES (
INCREASE Y CLEAR C
)
INCREASE C
)
CLEAR C
# Y = X - 1
REPEAT Y TIMES (
CLEAR Y
INCREASE Y
)
CLEAR L
REPEAT Y TIMES (
INCREASE L
)
CLEAR Y
CLEAR Z
CLEAR O
PRINT X
)
)
)