检查 N 是否是 Python 中的强质数
假设我们有一个数字n。我们必须检查n是否是强素数。正如我们所知,当一个数大于最近素数的平均值时,它被称为强素数。
因此,如果输入类似于num=37,那么输出将为True,因为最近的素数是31和41,平均值为(31+41)/2=36。并且37>36。
示例
让我们看看以下实现以获得更好的理解-
def isPrime(num): if num > 1: for i in range(2,num): if num % i == 0: return False return True return False def solve(num): if isPrime(num) == False or num == 2: return False last = num - 1 next = num + 1 while isPrime(next) == False: next += 1 while isPrime(last) == False: last -= 1 avg = (last + next) / 2 if num > avg: return True return False num = 37 print(solve(num))
输入
37输出结果
True