Найти - Пользователи
Полная версия: Определение простое число или нет
Начало » Центр помощи » Определение простое число или нет
1 2 3
bo-jutsu
Доброго времени суток. Учусь на курсах автотестера. Программирование начал недавно только осваивать. Помогите разобраться:
Нужно проверить вводимое число на предмет -простое оно или нет. Простое, делиться только на самого себя и на один

x=int(raw_input(“press number:”))
i=2.000
while x>i:
if x%i!=0:
i=i+1
print “prostoe”
else:
print “ne prostoe”
break

логически я понимаю так, перебирал разные варианты, но нужного результата нет(((( В какую сторону копать? Направте плиз! Или хотябы логику скажите, как оно должно работать. Спасибо!
sp3
>>> def isProst(x):
... for i in (2,x-1):
... if not x%i:
... return False
... return True
>>> print isProst(4)
False
>>> print isProst(5)
True
>>> print isProst(7)
True
>>> print isProst(10)
False
py.user.next
>>> def isProst(x):
... for i in (2, x-1):
... if not x % i:
... return False
... return True
...
>>> isProst(2)
False
>>> isProst(3)
True
>>> isProst(1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 3, in isProst
ZeroDivisionError: integer division or modulo by zero
>>>
>>> isProst(121)
True
>>>
Randomazer
def isProst(x):
if x==1:
return True
for i in range(2,x-1):
if not x%i:
return False
return True

print isProst(121)
Isem
Randomazer
for i in range(2,x-1):
Будет работать заметно быстрее, если этот цикл заменить на:
for i in range(3, int(math.sqrt(x)), 2):
А на четность числа проверить заранее.
bo-jutsu
Большое всем спасибо, за помощь!
baa
def Prm(x):
if x == 2:
return True
if x < 2 or x % 2 == 0:
return False
for i in xrange(3, int(x**0.5) + 1, 2):
if x % i == 0:
return False
return True
print Prm(x)
py.user.next
baa
    if x < 2 or x % 2 == 0:
return False
2 - простое число
baa
py.user.next
baa
    if x < 2 or x % 2 == 0:
return False
2 - простое число
поправился
py.user.next
def isprime(x):
if x > 3 and x % 2 == 0 or x <= 1:
return False
for i in range(3, int(x ** 0.5) + 1, 2):
if x % i == 0:
return False
return True

print(isprime(121))
пояснее немного

tags: prime
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