使用遞迴判斷一個數是否為素數的 Python 程式


當需要使用遞迴技術來判斷一個數是否為素數時,需要定義一個方法並使用“while”迴圈條件。

遞迴計算較大問題的小部分輸出,並將這些部分組合起來,從而給出較大問題的解決方案。

示例

下面是對此的演示 -

def check_prime(my_num, my_val = None):
   if my_val is None:
      my_val = my_num – 1
   while my_val >= 2:
      if my_num % my_val == 0:
         print(“The number is not a prime number”)
         return False
      else:
         return check_prime(my_num, my_val-1)
   else:
      print(“The number is a prime number”)
      return ‘True’
my_num = int(input(“Enter the number that you wish to examine : “))
print(“The number is being checked…”)
check_prime(my_num)

輸出

Enter the number that you wish to examine : 46
The number is being checked…
The number is not a prime number

解釋

  • 定義了一個名為“check_prime”的方法,該方法接收一個數字和一個賦值為 None 的值作為引數。
  • 如果變數為 None,則將變數賦值為數字減 1 的結果。
  • 如果變數的值大於 2,則將數字除以該值,並將餘數與 0 進行比較。
  • 如果餘數為 0,則認為該數不是素數。
  • 否則,透過傳遞數字和值減 1 的結果再次呼叫該方法。
  • 在函式外部,提示使用者輸入需要檢查的數字。
  • 透過呼叫函式並將該值作為引數傳遞來檢查該數字。
  • 在控制檯上顯示相關輸出。

更新於: 2021年3月12日

2K+ 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.