The famous Collatz (ou “Syracuse”) sequence, as an iterator. You can print the terms of the sequence beginning with 65 by for u in collatz(65): print(u) or compute the sequence with list(collatz(65)) or compute the maximum height with max(list(collatz(65))) or the flight duration with len(list(collatz(65)))
def collatz(n): u=n while u>1: if u%2==1: u=3*u+1 u//=2 yield u