检查给定的三个数字是否是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

猜你喜欢