Testing collatz conjecture
1class Solution:
2 def testCollatzConjecture(self, n):
3 verified = set()
4
5 for i in range(3, n + 1):
6 sequence = set()
7 test_i = i
8 while test_i >= i:
9 if test_i in sequence: return False
10 sequence.add(test_i)
11 if test_i % 2:
12 if test_i in verified: break
13 verified.add(test_i)
14 test_i = 3 * test_i + i
15 else: test_i //= 2
16
17 return True