使用递归查找数字是否为素数的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再次调用该方法。

  • 在功能之外,要求用户输入需要检查的数字。

  • 通过调用函数并将此值作为参数传递来检查数字。

  • 相关输出将显示在控制台上。