def Given(rn):
Given_lengths = [0] * 1000000
def rn2(n):
if not Given_lengths[n]:
Given_lengths[n] = rn(n)
return memoized_lengths[n]
return rn2
def cycle_length(n):
if n == 1: return 1
if n % 2:
return cycle_length(n * 3 + 1) + 1
return cycle_length(n / 2) + 1
def problem(i,j):
for x in range(i, j+1):
return max(cycle_length(x))
def test_cycle_length():
assert cycle_length(22) == 16
assert cycle_length(10) == 7
assert cycle_length(11) == 15
print('OK')
def test_problem():
print (1, 10, problem(1, 10))
print (100, 200, problem(100, 200))
print (201, 210, problem(201, 210))
print (900, 100, problem(900, 1000))
if __name__ == '__main__': test_problem()
getting error:
def problem(i,j):
for x in range(i, j+1):
return max(cycle_length(x))
'int' object is not iterable