Комментарии:
При n=50, выдает числа до 31 включительно (последнее должно быть 47). Причем при n=100, работает корректно. Как так?
ОтветитьДобрый день!
Спасибо за интересную задачу. Уже не первый раз нахожу ваш канал при поиске решений задач.
На одном ресурсе я нашел такое решение задачи (там демонстрировали пример с флагом):
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):
но как ни вертел, все выдавались ошибки. Возможно, я взялся за что-то слишком сложное для своего уровня...
У вас есть что-то подобное? Или может сняли бы ролик для такого решения?
Спасибо за объяснение!
Ответить