# Checking if it is one should be made more efficient, maybe by keeping track of it is one every time a change to V is made? only needs to be done on division
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 E
INCREASE E
INCREASE E
INCREASE E
)
REPEAT E TIMES (
REPEAT Q TIMES (
CLEAR A
INCREASE A
CLEAR B
CLEAR C
CLEAR J
# Check for divisible by 2, output to X, Y AND J
REPEAT V TIMES (
REPEAT A TIMES (
CLEAR A
INCREASE B
INCREASE X
INCREASE J
CLEAR Y
)
REPEAT C TIMES (
CLEAR C
INCREASE A
CLEAR X
INCREASE Y
)
REPEAT B TIMES (
CLEAR B
INCREASE C
)
)
#PRINT X
#PRINT Y
REPEAT X TIMES ( # pariton, V = 3*V
REPEAT V TIMES (
INCREASE V
INCREASE V
)
INCREASE V
)
REPEAT Y TIMES ( # parillinen, V = V/2
CLEAR V
REPEAT J TIMES (
INCREASE V
)
)
#PRINT V
# Check if it is one, output to Q = 1, if V > 1
CLEAR O
INCREASE U
REPEAT V TIMES (
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 V
)
)