Submission details
Task:Lukujono
Sender:Wiita
Submission time:2025-10-28 22:29:05 +0200
Language:text
Status:READY
Result:8
Feedback
groupverdictscore
#1ACCEPTED8
Test results
testverdicttimescore
#1ACCEPTED0.00 s8details

Code

# J = 10
INCREASE J
INCREASE J
INCREASE J
INCREASE J
INCREASE J
INCREASE J
INCREASE J
INCREASE J
INCREASE J
INCREASE J

# I = 1000
REPEAT J TIMES ( 
    REPEAT J TIMES ( 
        REPEAT J TIMES ( 
            INCREASE I 
        ) 
    ) 
)

# V = 3 for the times function (3*X)
INCREASE V
INCREASE V
INCREASE V

REPEAT I TIMES ( 
    # Set Q to 1 to enable printing of X
    CLEAR Q
    INCREASE Q

    # Print current X unless P is set (sequence ended)
    REPEAT P TIMES ( CLEAR Q )

    # Print X if Q is 1
    REPEAT Q TIMES ( PRINT X )

    # Clear variables for calculation
    CLEAR A
    CLEAR B
    CLEAR C
    CLEAR T
    CLEAR D

    # B = 1 for parity check
    INCREASE B

    # Parity check loop determines if X is even or odd
    # After X iterations:
    #   A = 1 if X is odd, 0 if X is even
    #   C = X // 2
    REPEAT X TIMES ( 
        # Swap A and B using T
        CLEAR T
    
        REPEAT A TIMES ( INCREASE T ) # T = A
        CLEAR A

        REPEAT B TIMES ( INCREASE A ) # A = B
        CLEAR B

        REPEAT T TIMES ( INCREASE B ) # B = T

        # Check if A is zero: D=1 if A=0, else D=0
        CLEAR D
        INCREASE D

        # Clear D if A > 0
        REPEAT A TIMES ( CLEAR D )

        # Increment C if A was zero (D = 1)
        REPEAT D TIMES ( INCREASE C )
    )

    # Check if X = 1: E = 1 only if X = 1
    CLEAR E
    INCREASE E
    REPEAT C TIMES ( CLEAR E ) # For X = 1, C = 0 so E = 1 | for X > 1, C > 0 so E = 0

    # F = 1 if X is even, 0 if X is odd
    CLEAR F
    INCREASE F
    REPEAT A TIMES ( CLEAR F ) # Clear F if A > 0 (X odd)

    REPEAT F TIMES ( CLEAR E ) # If X even, ensure E = 0

    REPEAT E TIMES ( INCREASE P ) # If X = 1, set P = 1 to stop future printing


    # Decide whether to update X: Q = 1 unless X = 1
    CLEAR Q
    INCREASE Q

    REPEAT E TIMES ( CLEAR Q ) # Decide whether to update X: Q = 1 unless X = 1

    # if Q = 1 update X to next Collatz number
    REPEAT Q TIMES ( 
        CLEAR Z
        # even X: Z = C = X // 2
        REPEAT C TIMES ( INCREASE Z )

        # odd X: Z = 3 * X + 1
        # (V = 3)
        REPEAT A TIMES ( 
            CLEAR Z
            # Z = 3 * X
            REPEAT X TIMES ( 
                REPEAT V TIMES ( INCREASE Z )
            )
            INCREASE Z  # Add 1 to make 3 * X + 1
        )

        # Set X to Z for next iteration
        CLEAR X
        REPEAT Z TIMES ( INCREASE X )
    )
)

Test details

Test 1 (public)

Verdict: ACCEPTED

input
(empty)

correct output
(empty)

user output
# J = 10
INCREASE J
INCREASE J
INCREASE J
INCREASE J
...

Feedback: 82 tests processed (command limit exceeded)