【发布时间】:2019-07-17 20:09:25
【问题描述】:
为了澄清,这与这个问题Sieve of Eratosthenes - Finding Primes Python 不同,因为我不想在两个数字之间生成质数,但我想检查一个数字是否是质数。
我编写了以下代码来查找一个数字是否为质数。然后听说了埃拉托色尼筛法,显然速度更快,但是不知道下面的代码怎么写?
number1 = int(raw_input("""
Enter any number :- """))
if number1 == 1:
print "1 is a special case. It is neither a Prime Number nor a Normal Number. Be like 1"
if number1 == 2:
print number1, "is a Prime Number"
if number1 == 4:
print "4 is not a Prime Number"
print "2 times 2 is 4"
if number1 > 1:
for i in range(2,(number1//2)):
if number1 % i == 0:
print number1, "is not a Prime Number"
print i, "times", (number1/i), "is", number1
break
else:
print number1, "is a Prime Number"
else:
print "Please type a positive number only"
你们能帮帮我吗?
【问题讨论】:
-
如果有帮助可以查看这个问题 [stackoverflow.com/questions/3939660/…
-
这是一个附带问题,但您可以将
number1 = int(number1)放在输入之后,然后您不必在其余代码中调用int()。
标签: python python-2.7 sieve-of-eratosthenes