用Python检查给定的三个数字是否为相邻素数


假设我们有三个数字,我们需要检查它们是否为相邻素数。相邻素数是指两个素数之间没有其他素数的素数。

因此,如果输入类似于nums = [5,7,11],则输出为True。

为了解决这个问题,我们将遵循以下步骤:

  • 如果这三个数字中的任何一个不是素数,则
    • 返回False
  • 如果x的下一个素数不等于y,则
    • 返回False
  • 如果y的下一个素数不等于z,则
    • 返回False
  • 返回True

让我们来看下面的实现,以便更好地理解:

示例代码

在线演示

def isPrime(num):
   if num > 1:
      for i in range(2, num):
         if num % i == 0:
           return False
      return True
   return False
   
def get_next_prime(num) :
   next_prime = num + 1
   while not isPrime(next_prime):
      next_prime += 1
   return next_prime
 
def solve(x, y, z) :
   if isPrime(x) == False or isPrime(y) == False or isPrime(z) == False :
      return False
 
   next_prime = get_next_prime(x)
   if next_prime != y:
      return False
 
   if get_next_prime(y) != z:
      return False
 
   return True

nums = [5,7,11]
print(solve(*nums))

输入

[5,7,11]

输出

True

更新于:2021年1月16日

浏览量134次

开启你的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.