使用for循环和if ... else语句检查整数是否为质数的示例。如果该数字不是质数,则在输出中说明为什么它不是质数。
要理解此示例,您应该了解以下Python编程主题:
大于1的正整数,除1外没有其他因素,并且该数字本身称为质数。2、3、5、7等是质数,因为它们没有任何其他因素。但是6不是素数(它是合成的),因为2 x 3 = 6。
# 程序检查一个数字是否是质数 num = 407 # 从用户那里获取输入 #num = int(input("输入一个数字: ")) # 质数是大于1 if num > 1: # 校验字符 for i in range(2,num): if (num % i) == 0: print(num,"不是质数") print(i,"乘以",num//i,"等于",num) break else: print(num,"是质数") # 如果输入数字小于 # 或者等于1,它不是质数 else: print(num,"不是质数")
输出结果
407 不是质数 11乘以37等于407
在此程序中,将检查变量num是否为质数。小于或等于1的数字不是质数。因此,我们仅在num大于1时进行。
我们检查是否num可以被2到num-1的任何数整除。如果我们发现该范围内的因数,则该数不是质数。否则,该数字为质数。
我们可以缩小寻找因数的数字范围。
在上述程序中,我们的搜索范围是2到num - 1。
我们可以使用范围[2,num/2]或[2,num ** 0.5]。 后一个范围基于这样一个事实,即复合数必须具有小于该数平方根的因子。 否则,该数字为质数。
您可以在上面的源代码中更改变量num的值,以检查数字是否为其他整数的质数。