n1 = int(input("вывод простых чисел от числа "))
n2 = int(input("до числа "))
a = [0] * n2 # создание массива с n2 количеством элементов
for i in range(n2): # заполнение массива ...
a[i] = i # значениями от 0 до n-1
# вторым элементом является единица, которую не считают простым числом
a[1] = 0
m = 2 # замена на 0 начинается с 3-го элемента (первые два уже нули)
while m < n2: # перебор всех элементов до заданного числа
if a[m] != 0: # если он не равен нулю, то
j = m * 2 # увеличить в два раза (текущий элемент простое число)
if a[m]>n1:
print (a[m])
while j < n2:
a[j] = 0 # заменить на 0
j = j + m # перейти в позицию на m больше
m += 1
Объяснение:
Вводим с клавиатуры, начиная с которого числа нам нужно будет выводить простые числа. В нашем случае - 40
Вводим до которого значения следует искать простые числа, в нашем случае - до 60.
На печати получим 5 простых чисел в заданном диапазоне.
Это не самое изящное решение. К тому же я не понял, что значит "введите их в произвольном порядке" - куда ввести?
Программа ищет простые числа с "решета Эратосфена" и выводит их на печать.
n1 = int(input("вывод простых чисел от числа "))
n2 = int(input("до числа "))
a = [0] * n2 # создание массива с n2 количеством элементов
for i in range(n2): # заполнение массива ...
a[i] = i # значениями от 0 до n-1
# вторым элементом является единица, которую не считают простым числом
a[1] = 0
m = 2 # замена на 0 начинается с 3-го элемента (первые два уже нули)
while m < n2: # перебор всех элементов до заданного числа
if a[m] != 0: # если он не равен нулю, то
j = m * 2 # увеличить в два раза (текущий элемент простое число)
if a[m]>n1:
print (a[m])
while j < n2:
a[j] = 0 # заменить на 0
j = j + m # перейти в позицию на m больше
m += 1
Объяснение:
Вводим с клавиатуры, начиная с которого числа нам нужно будет выводить простые числа. В нашем случае - 40
Вводим до которого значения следует искать простые числа, в нашем случае - до 60.
На печати получим 5 простых чисел в заданном диапазоне.
Это не самое изящное решение. К тому же я не понял, что значит "введите их в произвольном порядке" - куда ввести?
Программа ищет простые числа с "решета Эратосфена" и выводит их на печать.