Skip to main content
 首页 » 编程设计

Python-素数检查器-素数积

2025年05月04日14zhenyulu

我编写了以下代码来检查一个数是否为质数。虽然有更有效的方法来做到这一点,但我注意到虽然这适用于最大的素数,但它对素数的每一个乘积都无效。因此,虽然它正确地将 13 和 17 识别为质数,但它也将 91 (13 × 7) 识别为质数。有什么想法吗?

def checkifprime(numtocheck): 
    for x in range(2,numtocheck): 
        if(numtocheck % x == 0): 
            return False 
        return True 
 
answer = checkifprime(91) 
print (answer) 

请您参考如下方法:

return True 缩进太多;它在循环内并导致函数在第一次迭代时退出,因此您的函数实际上只检查数字是否为奇数。

def checkifprime(numtocheck): 
    for x in range(2, numtocheck): 
        if numtocheck % x == 0: 
            return False 
    return True