今天查了很多关于判断质数的代码,自己也尝试写了一下。
质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
所有我们能很容易的想到使用for循环来实现输入数m和[2,m-1)的相除。
代码实现:
m=eval(input("请输入一个整数:"))
for i in range(2,m-1):
n=True
if m%i==0:
print("{}不是质数".format(m))
n=False
break
现在我们只有一个if,因为随机输入一个数它可能有很多因数,但我们只要判断出它存在一个除1和它本身的一个因数即可,所有我们在结尾使用的break,如果直接在for循环中加入else的话会输入很多信息,所有定义“n="False"做一个判断。
if n!=False:
print("{}是质数".format(m))
这就实现了只输入一次结果,
完整代码:
m=eval(input("请输入一个整数:"))
for i in range(2,m-1):
n=True
if m%i==0:
print("{}不是质数".format(m))
n=False
break
if n!=False:
print("{}是质数".format(m))