檢查相鄰數字絕對差之和是否為素數 (Python)


假設我們有一個數字 n。我們需要檢查相鄰數字對的絕對差之和是否為素數。

因此,如果輸入類似於 n = 574,則輸出為 True,因為 |5-7| + |7-4| = 5,這是一個素數。

為了解決這個問題,我們將遵循以下步驟:

  • num_str := 將 n 轉換為字串
  • total := 0
  • 對於 i 從 1 到 num_str 的大小 - 1,執行:
    • total := total + |num_str[i - 1] 位置的數字 - num_str[i] 位置的數字|
  • 如果 total 是素數,則
    • 返回 True
  • 返回 False

讓我們看一下下面的實現,以便更好地理解:

示例程式碼

線上演示

def isPrime(num):
   if num > 1:
      for i in range(2, num):
         if num % i == 0:
           return False
      return True
   return False
     
def solve(n):
   num_str = str(n)
   total = 0
   for i in range(1, len(num_str)):
      total += abs(int(num_str[i - 1]) - int(num_str[i]))
        
   if isPrime(total):
      return True
   return False
      
n = 574
print(solve(n))

輸入

574

輸出

True

更新於:2021年1月16日

瀏覽量:181

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.