【发布时间】:2016-08-17 23:50:03
【问题描述】:
我制作了一个质数查找器,您可以在其中输入一个数字,它会告诉您天气它是一个质数。
while True:
p = int(input('Enter a number '))
for d in range(2, p):
if p % d == 0:
print(p, "is not a prime number!", d,"*", p//d,"=",p)
break
else:
print(p, "is a prime number!")
break
但是它显示的数字显然不是素数。我认为它只是将它除以 2,因为我尝试过的所有奇数都被输出为奇数。
谁能帮忙解决这个问题?
【问题讨论】:
-
想一想——你什么时候确定一个数是素数?是在你检查过它是否能被二整除之后吗?
-
我认为它只是将其除以 2,因为我尝试过的所有奇数都被输出为奇数?
-
性能方面,可以拍
for d in range(2, math.sqrt(p)+1):
标签: python python-3.x math