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