1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
cnt = 120 # step1 number_list = range(2, cnt) prime_list = [] while (1): # step2 prime_list.append(number_list.pop(0)) # step3 multiple_list = [x for p in prime_list for x in number_list for m in range(cnt/p) if (p*m) == x] for x in multiple_list: number_list.remove(x) # step4 if number_list[-1] < prime_list[-1]*prime_list[-1]: break print prime_list, number_list
1
[2, 3, 5, 7, 11] [13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 119]