检查 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