# Set I, the number of iterations, to 169
INCREASE W INCREASE W INCREASE W INCREASE W INCREASE W INCREASE W INCREASE W INCREASE W INCREASE W INCREASE W INCREASE W INCREASE W INCREASE W
REPEAT W TIMES (
REPEAT W TIMES (
INCREASE I # Increase to 13^2 = 169
)
)
# Set M to 3
INCREASE M INCREASE M INCREASE M
############################## Setting X to be even
# Set P
REPEAT X TIMES (
REPEAT N TIMES (
CLEAR P
INCREASE P
)
CLEAR N
INCREASE N
)
CLEAR N
PRINT X
## Checking if X is even
INCREASE E
REPEAT P TIMES (
REPEAT X TIMES (
REPEAT E TIMES ( CLEAR E CLEAR T )
REPEAT T TIMES ( CLEAR T INCREASE E )
INCREASE T
)
)
# Is odd
INCREASE O REPEAT E TIMES ( CLEAR O )
REPEAT O TIMES (
REPEAT X TIMES ( REPEAT M TIMES ( INCREASE J ) ) INCREASE J
CLEAR X
REPEAT J TIMES ( INCREASE X ) INCREASE J
PRINT X
)
CLEAR T
CLEAR E
CLEAR O
CLEAR J
# Now X is even
#####################
# Set P
REPEAT X TIMES (
REPEAT N TIMES (
CLEAR P
INCREASE P
)
CLEAR N
INCREASE N
)
CLEAR N
REPEAT I TIMES (
REPEAT P TIMES (
# Z = X/2 | E = 1 (if X % 2 = 0)
INCREASE E
REPEAT X TIMES (
REPEAT E TIMES ( CLEAR E CLEAR T )
REPEAT T TIMES ( INCREASE E INCREASE Z )
INCREASE T
)
INCREASE O # Is odd
# If X is even
REPEAT E TIMES (
CLEAR K REPEAT X TIMES ( INCREASE K ) # Set K to be X
CLEAR X
CLEAR P
INCREASE Q
REPEAT Z TIMES (
INCREASE X
REPEAT Q TIMES (
REPEAT N TIMES (
CLEAR P
INCREASE P
CLEAR Q
)
CLEAR N
INCREASE N
)
)
CLEAR N
CLEAR O
)
# If X is odd
REPEAT O TIMES (
# Print result of 3x+1
REPEAT X TIMES ( INCREASE K ) INCREASE K
PRINT K
# Set X to (3x+1)/2
REPEAT Z TIMES ( INCREASE X ) INCREASE X
)
CLEAR T
CLEAR Z
CLEAR J
CLEAR E
CLEAR O
PRINT X
)
)