我刚开始学习python。我正在尝试编写一个打印素数的程序。但它也打印没有。以5结尾。
n = 2
while n >= 2:
if n == 2:
print(n)
n += 1
while n >= 3:
if n == 3:
print(n)
n += 2
for i in range (3,n):
if n % i != 0:
print(n)
n += 2
答案 0 :(得分:1)
这是一个决定素数的算法:
def prime(iterations):
primes = [2]
x = math.floor(math.sqrt(iterations)) + 1
for i in range(iterations):
if i > 2:
primes.append(i)
for i in range(x):
if i > 1:
j=2
while i*j <= iterations:
if i*j in primes:
primes.remove(i*j)
j += 1
print(primes)
说明:
第4行:将每个数字附加到素数
第7行和第3行:找到介于1和迭代之间的数字并删除所有可能的因子
第13行:循环因素
答案 1 :(得分:1)
您可以使用以下代码查找素数。
num = int(input("Enter number: "))
if num > 1:
for i in range(2, num):
if (num % i) == 0:
print(num, " is not a prime number")
break
else:
print(num, " is a prime number")
else:
print(num, " is not a prime number")
素数始终大于1,因此也要检查它。
答案 2 :(得分:0)
x=int(input("Give your No: "))
for k in range(2,x):
if ((x%k)==0):
print('Not prime no')
break
else:
print("Prime no")