使用递归判断一个数是否为素数的 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+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告