How to calculate the Collatz sequence starting with 13 in Python

1 Answer

0 votes
def CalcCollatz(x) :
    if (x % 2 == 0) : # even
        x = x // 2
    else : # odd
        x = (3 * x) + 1
    
    return x;

def PrintCollatzSequence(x) :
    lst = list()
    lst.append(x) 
    
    while (x != 1) :
        x = CalcCollatz(x)
        lst.append(x) 
   
    print(' '. join(str(i) for i in lst))  


x = 13
 
PrintCollatzSequence(x)



'''
run:

13 40 20 10 5 16 8 4 2 1

'''

 



answered Nov 7, 2023 by avibootz
edited Nov 7, 2023 by avibootz

Related questions

1 answer 133 views
1 answer 176 views
1 answer 139 views
1 answer 125 views
1 answer 160 views
...