Advertisement
soomin999

Collatz Sequence

May 1st, 2016
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.57 KB | None | 0 0
  1. #Collatz Sequence
  2. def isEven(n):
  3.     return n % 2 == 0
  4.  
  5. def getNextCollatzSeq(n):
  6.     if isEven(n):
  7.         return n // 2
  8.     else:
  9.         return 3*n + 1
  10.  
  11. def printCollatzSeq(n):
  12.     s = n
  13.     while (s > 1):
  14.         print(s, end=",")
  15.         s = getNextCollatzSeq(s)
  16.     print(s)
  17.  
  18. def getCollatzSeqLen(n):
  19.     s = n
  20.     i = 0
  21.     while (s > 1):
  22.         s = getNextCollatzSeq(s)
  23.         i += 1;
  24.     return i
  25.  
  26. maxL = 0
  27. for k in range(100):
  28.     n = getCollatzSeqLen(k)
  29.     if (maxL < n):
  30.         maxL = n
  31.     print(n, end=",")
  32. print(" max length:", maxL)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement