Решето Эратосфена – алгоритм определения простых чисел. Решение задачи на Python

Решето Эратосфена – алгоритм определения простых чисел. Решение задачи на Python

20,058 Просмотров

Ссылки и html тэги не поддерживаются


Комментарии:

abyss void
abyss void - 08.11.2022 01:07

При n=50, выдает числа до 31 включительно (последнее должно быть 47). Причем при n=100, работает корректно. Как так?

Ответить
Fravije
Fravije - 22.10.2022 18:07

Добрый день!
Спасибо за интересную задачу. Уже не первый раз нахожу ваш канал при поиске решений задач.

На одном ресурсе я нашел такое решение задачи (там демонстрировали пример с флагом):

num = int(input())
flag = True

for i in range(2, num):
if num % i == 0: # если исходное число делится на какое-либо отличное от 1 и самого себя
flag = False

if num == 1:
print('Это единица, она не простая и не составная')
elif flag == True:
print('Число простое')
else:
print('Число составное')

Я подумал - а что если перефразировать данную задачу.
Например, я не ввожу числа для проверки на простое / сложное, а проверка идет автоматически и непрерывно.
Если число сложное, то новый поиск, если простое - оно записывается в столбик. В итоге имеем растущий столбик:
2
3
5
7
11
и т.д.

Я начинал решать через

while True:

for i in range(2, num):

но как ни вертел, все выдавались ошибки. Возможно, я взялся за что-то слишком сложное для своего уровня...

У вас есть что-то подобное? Или может сняли бы ролик для такого решения?

Ответить
Виталий Сабуров
Виталий Сабуров - 10.01.2022 16:48

Спасибо за объяснение!

Ответить