Skip to content

Commit e98b87c

Browse files
committed
solve colllatz Conjecture problem in python3
1 parent a30558e commit e98b87c

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
2+
cache = {}
3+
def cyclicLength(i,j):
4+
totalCount = 0
5+
while i >= j:
6+
count = 1
7+
val = i
8+
while val != 1:
9+
if cache.get(val) != None:
10+
count += cache[val] - 1
11+
break
12+
count +=1
13+
if val % 2 == 0:
14+
val = val/2
15+
else:
16+
val = (3*val + 1)
17+
18+
cache[i] = count
19+
totalCount = max(count,totalCount)
20+
i-=1
21+
return totalCount;
22+
23+
arr = [ [10,1],[200,100],[210,201],[1000,900],[1000000,1],[5,1],[22232,254]]
24+
25+
for i in range(len(arr)):
26+
27+
print(cyclicLength(arr[i][0],arr[i][1]))
28+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
3n + 1 Problem AKA Collatz Conjecture
2+
3+
Time complexity - Unknown
4+
Space Complexity - O(n)
5+
6+
[Algorithm Explanation](https://www.spoj.com/problems/PROBTNPO/)
7+
8+
9+

0 commit comments

Comments
 (0)