Loops 质数检查器
我必须使用python开发一个程序,它将一系列正整数作为输入,并输出每个正整数是否为素数。如果输入一个负数并打印该数字,则程序应终止。一不是质数。当我输入一个负数,它给出一个素数时,我的程序不会运行Loops 质数检查器,loops,python-2.7,Loops,Python 2.7,我必须使用python开发一个程序,它将一系列正整数作为输入,并输出每个正整数是否为素数。如果输入一个负数并打印该数字,则程序应终止。一不是质数。当我输入一个负数,它给出一个素数时,我的程序不会运行 num=int(input('Enter:')) for num in range (1,num+1): for i in range(2,num): if (num%i==0 or num==1): print num break;
num=int(input('Enter:'))
for num in range (1,num+1):
for i in range(2,num):
if (num%i==0 or num==1):
print num
break;
else:
print num, "is a prime number"
这检查负数,也检查素数比循环快得多
import sys
import math
def check_prime(number):
if (math.factorial(int(number) - 1) + 1)%int(number) == 0:
print "Number is prime"
else:
print "Not Prime"
number = raw_input("Choose a positive integer")
if not number.isdigit() or number < 1:
sys.exit()
else:
check_prime(number)
提示:您在哪里检查它是否为负数?请用您正在使用的编程语言标记问题。@BurhanKhalid这是我遇到的一个问题。我不知道该把代码放在哪里。看看你的问题陈述,如果给出负数,程序应该终止。在做其他事情之前,你可以用另一种方式来阅读,检查数字是否为负数,如果为负数,请退出。这将有助于你理解把支票放在哪里。@BurhanKhalid非常感谢你。它确实奏效了。但是我仍然有一个问题,第一个数是素数,威尔逊定理对于测试素数并不实用,除非这个数很小。