Найти - Пользователи
Полная версия: перебрать все числа от нуля до ста и вывести те которые являются простыми
Начало » Python для новичков » перебрать все числа от нуля до ста и вывести те которые являются простыми
1
damon
def is_prime(a):
prostoe = True
for n in range(2,int (a/2)+1):
if a % n == 0:
prostoe = False
return prostoe
есть такая функция нужно ей воспользоваться и перебрать все числа от нуля до ста и вывести те которые являются простыми
damon
Уже сам решил
for z in range(0,100):
is_prime(z)
if is_prime(z) == True:
print(z ,“Prostoe”)
else:
print(z, “ne prostoe”)
Iskatel
damon

Извиняй, братан, что не успели..
py.user.next
Было уже.
izekia
damon
Уже сам решил
 for z in range(0,100):
    is_prime(z)
    if is_prime(z) == True:
        print(z ,Prostoe)
    else:
        print(z, ne prostoe)
строчка лишняя
+1 - лишняя операция деления на каждой проверке, а 3 простое
вместо: int (a/2) достаточно a // 2
все эти манипуляции с излишней переменной ни к чему + совершается куча лишних циклов, когда можно вернуть False уже при нахождении первого делителя
это что касается мелких недочетов и питона, а теперь то что касается теории:
поиск делителя в range(a//2) добавляет кучу лишних проверок:
12/2 = 6, то есть будут проверен диапазон хотя было бы достаточно диапазона
поэтому оптимально находить значение квадратного корня из a
и вообще на диапазоне искать простые числа лучше с помощью решета Эратосфена

и тут я нашел эту тему и понял, что все я написал бесполезно)
py.user.next
izekia
и вообще на диапазоне искать простые числа лучше с помощью решета Эратосфена

и тут я нашел эту тему и понял, что все я написал бесполезно)
И решето мы тоже тут делали года два назад :)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB