#871
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A
# A = 179 is the length of the Maximum collatz sequence (X=871)
# To beat:
# 5894250
# 5239377
# 5239198
# 5238841
# 5238663
INCREASE T
REPEAT A TIMES ( # Basically a WHILE TRUE
# Check to terminate
CLEAR Y CLEAR M CLEAR E
INCREASE E
REPEAT X TIMES (
INCREASE D
REPEAT M TIMES (
CLEAR D
CLEAR M
INCREASE Y
CLEAR E
) # 11>00, 01>01
REPEAT D TIMES ( INCREASE M CLEAR D ) # 01>10
)
REPEAT E TIMES ( CLEAR T )
# Y := HALF X
# M := MOD2 X
# D := 0
# E := ISZERO HALF X
# T := NOT ISZERO HALF X
REPEAT T TIMES ( # If we do not terminate
PRINT X
INCREASE P
REPEAT M TIMES ( # If X is odd, Multiply by 3 and add 1, and then divide by two.
CLEAR Z
REPEAT X TIMES ( INCREASE Z )
REPEAT X TIMES ( INCREASE Z )
REPEAT X TIMES ( INCREASE Z )
INCREASE Z
PRINT Z
# Z = 3X+1
REPEAT Y TIMES ( INCREASE X )
INCREASE X
# X = 3/2X + 1
CLEAR P
)
REPEAT P TIMES ( # Otherwise X is even. Divide by 2.
CLEAR X
REPEAT Y TIMES ( INCREASE X )
CLEAR P
)
)
)
PRINT X