我已经开发了使用python查找素数的代码。但它一直说这些数字是素数,即使不是。我是python的新手,所以我的语法知识真的不那么好
当我输入数字15时,会说它是质数。但这不应该是素数
a = 0
#num will be the number we are checking
x = int(num)
num = sqrt(float(num))
num = int(num)
primeCheck = True
for a in range(3, num, 2):
if x == 1 or x == 2:
primeCheck = False
#not prime
if x % a == 0:
primeCheck = False
#not prime
if primeCheck == true:
#prime
答案 0 :(得分:0)
您想要x % a
,而不是a % x
。较大的数字几乎总是应该在mod操作的左侧。