Question: 
Write a function to get a lucid number smaller than or equal to n.


Model's Code:
def get_ludic(n):
    ludics = []
    is_ludic = [True] * (n + 1)
    for i in range(1, n + 1):
        if is_ludic[i]:
            ludics.append(i)
            for j in range(i * 2, n + 1, i):
                is_ludic[j] = False
    return ludics



Sample Correct Code:
def get_ludic(n):
	ludics = []
	for i in range(1, n + 1):
		ludics.append(i)
	index = 1
	while(index != len(ludics)):
		first_ludic = ludics[index]
		remove_index = index + first_ludic
		while(remove_index < len(ludics)):
			ludics.remove(ludics[remove_index])
			remove_index = remove_index + first_ludic - 1
		index += 1
	return ludics


Asserts:
assert get_ludic(10) == [1, 2, 3, 5, 7]
assert get_ludic(25) == [1, 2, 3, 5, 7, 11, 13, 17, 23, 25]
assert get_ludic(45) == [1, 2, 3, 5, 7, 11, 13, 17, 23, 25, 29, 37, 41, 43]


Tests:
Test 1 of 3: FAIL: AssertionError()

Test 603 of 974: 448/603 (74.29519071310115%): failed