Python
Заданы 2 нат. числа a и b - границы диапазона. Используя алгоритм решета Эратосфена, вывести все простые числа на [a, b]
Умоляю, кто-нибудь напишите, как делать на Питоне
a, b = map(int, input().split())
t, i = [i for i in range(b + 1)], 2
while i * i <= b:
~~if t[i]:
~~~~for j in range(i * i, b + 1, i): t[j] = 0
~~i += 1
print(*[i for i in t[a:] if i != 0])
t, i = [i for i in range(b + 1)], 2
while i * i <= b:
~~if t[i]:
~~~~for j in range(i * i, b + 1, i): t[j] = 0
~~i += 1
print(*[i for i in t[a:] if i != 0])
(◔‿◔) Если уж писàть такие программы, так нужно хотя бы делать это грамотно! То есть чтоб алгоритм был эффективный, память тратилась экономно, а вывод был красивый или хотя бы не безобразный на худой конец. Например, как в моей программе внизу на левом скрине.
Хотя, вообще-то, нужно чётче формулировать техническое задание! Вот есть у нас два числа a и b, понятно, что это границы задаваемого диапазона. А число b, бòльшее из двух вводимых чисел, само-то хоть какого диапазона будет? Я испытала свой код и код Андрея на фаблете с памятью, ограниченной где-то примерно 175-ью мегабайтами. Моя программа прекрасно работает при b порядка 170-175 миллионов, а программа Андрея вылетает при b, меньшем чем 50 миллионов, потому что в его коде память используется нерационально, ведь он же работает со списком простых чисел, а я только с информацией о простоте чисел и тоже не рационально, ведь нужен же всего один бит информации о простоте числа, у меня же используется целый байт, а у Андрея целое число, состоящее из нескольких байтов! А вот если бы в задании была чётко пропи́сана верхняя граница для числа b (например, один миллиард !), тогда я бы упаковала всю необходимую для решения задачи информацию поплотнее, да и Андрей бы призадумался писàть такую чушь, которая у него фактически напи́сана, хотя всё и работает неплохо при относительно небольших b, вывод на экран вот только ужасный, о чём он, естественно, не очень и позаботился, так как красота и элегантность вывода таблицы Лемера на печать в задании тоже никак не оговаривается! (•‿•)

Хотя, вообще-то, нужно чётче формулировать техническое задание! Вот есть у нас два числа a и b, понятно, что это границы задаваемого диапазона. А число b, бòльшее из двух вводимых чисел, само-то хоть какого диапазона будет? Я испытала свой код и код Андрея на фаблете с памятью, ограниченной где-то примерно 175-ью мегабайтами. Моя программа прекрасно работает при b порядка 170-175 миллионов, а программа Андрея вылетает при b, меньшем чем 50 миллионов, потому что в его коде память используется нерационально, ведь он же работает со списком простых чисел, а я только с информацией о простоте чисел и тоже не рационально, ведь нужен же всего один бит информации о простоте числа, у меня же используется целый байт, а у Андрея целое число, состоящее из нескольких байтов! А вот если бы в задании была чётко пропи́сана верхняя граница для числа b (например, один миллиард !), тогда я бы упаковала всю необходимую для решения задачи информацию поплотнее, да и Андрей бы призадумался писàть такую чушь, которая у него фактически напи́сана, хотя всё и работает неплохо при относительно небольших b, вывод на экран вот только ужасный, о чём он, естественно, не очень и позаботился, так как красота и элегантность вывода таблицы Лемера на печать в задании тоже никак не оговаривается! (•‿•)


Похожие вопросы
- Задача в питоне!!!!!! Дано целое число n (n находится в диапазоне от 1 до 99), определяющее возраст человека в годах.
- Почему взяты переменные x,y, но операция производиться в a,b?
- Программа на Python, Простые Числа
- Напишите программу, которая подсчитает и выведет количество слов длины 10, которые можно составить из букв a, b, c.
- Простые числа.Напишите программу
- Питон. Ошибка в программе. Вычисление простых чисел
- Помогите разобраться и объяснить принцип действия цикла поиска простых чисел в Pyrhon
- Необходимо вычислить сумму двух дробей a/v;d/c. Используйте рекурсию, чтобы найти общий знаменатель двух чисел.
- Создайте программу, которая выводит первые 1000 простых чисел на языке программирования Python.
- Есть ли способ вывести случайное число не используя модуль random в python
огромное спасибо
а это точно решето Эратосфена ?