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)
Пример выполнения:
23
{2, 3, 5, 7, 11, 13, 17, 19, 23}
Алгоритм сортировки выбором заключается в поиске на необработанном срезе массива или списка минимального значения и в дальнейшем обмене этого значения с первым элементом необработанного среза. На следующем шаге необработанный срез уменьшается на один элемент.
Найти наименьшее значение в списке.
Записать его в начало списка, а первый элемент - на место, где раньше стоял наименьший.
Снова найти наименьший элемент в списке. При этом в поиске не участвует первый элемент.
Второй минимум поместить на второе место списка. Второй элемент при этом перемещается на освободившееся место.
Продолжать выполнять поиcк и обмен, пока не будет достигнут конец списка.
# Заполняем список из 10 элементов
# случайными числами от 1 до 99 и
# выводим неотсортированный список на экран.
Достарыңызбен бөлісу: |