Python 根据特定说明检查素数的功能
我必须根据一些具体说明创建一个函数。它是用来检查一个数字是否是素数的。我知道有不同的方法可以做到这一点,如果这是一个愚蠢的问题,我很抱歉。我是编程新手 无论如何,以下是说明(伪代码):Python 根据特定说明检查素数的功能,python,Python,我必须根据一些具体说明创建一个函数。它是用来检查一个数字是否是素数的。我知道有不同的方法可以做到这一点,如果这是一个愚蠢的问题,我很抱歉。我是编程新手 无论如何,以下是说明(伪代码): 函数isPrime(n) 如果n=1,则返回false 其他的 如果ndef isPrime(n): 如果n==1: 返回错误 elif n
函数isPrime(n)
如果n=1,则返回false
其他的
如果ndef isPrime(n):
如果n==1:
返回错误
elif n<4:
返回真值
elif n%2==0:#不需要模&
返回错误
elif n<9:
返回真值
elif n%3==0:
返回错误
其他:
r=n**.5
f=5
当fdef为素数(n)时:
如果n2&2==0
为False
;也许您不想使用按位AND there?您到底有什么问题?您已经收到了详细的伪代码,您正在努力解决它的实现中的哪些元素?@jornsharpe:n mod 3=0
之后的所有内容,显然。嗯,可能是拼写错误,但您的代码说def istime(n)应该是isprime(n)吗?
Function isPrime(n)
if n=1 then return false
else
if n<4 then return true #2 and 3 are prime
else
if n mod 2=0 then return false
else
if n<9 then return true #we have already excluded 4,6 and 8.
else
if n mod 3=0 then return false
else
r=floor( sqrt(n) ) #sqrt(n) rounded to the greatest integer r so that r*r<=n
f=5
while f<=r
if n mod f=0 then return false (and step out of the function)
if n mod(f+2)=0 then return false (and step out of the function)
f=f+6
endwhile
return true (in all other cases)
End Function
def isrime(n):
if n == 1:
return False
elif n < 4:
return True
elif n & 2 == 0:
return False
elif n<9:
return True
elif n %3 == 0:
return False
????? (Don't know what to write)
else:
return True
def isPrime(n):
if n == 1:
return False
elif n < 4:
return True
elif n % 2 == 0: # needs modulo not &
return False
elif n < 9:
return True
elif n % 3 == 0:
return False
else:
r = n**.5
f = 5
while f <= r:
if n % f== 0:
return False #(and step out of the function)
if n % (f+2)== 0:
return False# (and step out of the function)
f+=6
return True
def is_prime(n):
if n <= 3:
if n <= 1:
return False
return True
if not n%2 or not n%3:
return False
for i in range(5, int(n**0.5) + 1, 6):
if not n%i or not n%(i + 2):
return False
return True