INCREASE N INCREASE N INCREASE N # constant, N=3
INCREASE M INCREASE M INCREASE M INCREASE M INCREASE M INCREASE M INCREASE M INCREASE M INCREASE M INCREASE M INCREASE M INCREASE M INCREASE M INCREASE M INCREASE M INCREASE M INCREASE M INCREASE M INCREASE M INCREASE M
INCREASE F # flag, F=1 while we need to continue
REPEAT M TIMES (
REPEAT F TIMES (
CLEAR Y
REPEAT X TIMES (
INCREASE Y
)
CLEAR D # result
CLEAR E # E=1 if not divisible by 2
CLEAR G
INCREASE G # flag, G=1 while we need to continue
REPEAT G TIMES (
INCREASE D
# subtract 2 from X, result is in X
CLEAR B
REPEAT X TIMES (
CLEAR C
REPEAT B TIMES (
INCREASE C
)
INCREASE B
)
CLEAR B
REPEAT C TIMES (
CLEAR X
REPEAT B TIMES (
INCREASE X
)
INCREASE B
)
)
CLEAR G
REPEAT X TIMES (
CLEAR G
INCREASE G
)
PRINT X
)
# subtract 1 from X, result in Z
REPEAT X TIMES (
CLEAR Z
REPEAT Y TIMES (
INCREASE Z
)
INCREASE Y
)
# if X=1, F=0, so no more action
CLEAR F
REPEAT Z TIMES (
CLEAR F
INCREASE F
)
)