用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.