Используя алгоритм «Решето Эратосфена», найдите все простые числа до заданного числа N.
n = int(input()) # заполняем список числами от 0 до n a = [] for i in range(n + 1): a.append(i) # Вторым элементом является единица, # которую не считают простым числом # забиваем ее нулем. a[1] = 0 # начинаем с 3-го элемента i = 2 while i <= n: # Если значение ячейки до этого # не было обнулено, в этой ячейке # содержится простое число. if a[i] != 0: # Первое кратное ему будет # в два раза больше. j = i + i while j <= n: # Это число составное, # поэтому заменяем его нулем. a[j] = 0 # Переходим к следующему числу, # которое кратно i (оно на i больше). j = j + i i += 1 # Превращая список во множество, # избавляемся от всех нулей кроме одного. a = set(a) # удаляем ноль a.remove(0) print(a)