使用递归查找数字是否为素数的 Python 程序

pythonserver side programmingprogramming更新于 2024/1/27 1:10:00

当需要使用递归技术确定数字是否为素数时,会定义一种方法,并使用 ‘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(“该数字不是质数”)
         return False
      else:
         return check_prime(my_num, my_val-1)
    else:
      print(“该数字是质数”)
      return ‘True’
my_num = int(input(“输入要检查的数字:“))
print(“正在检查该数字...”)
check_prime(my_num)

输出

输入要检查的数字:46
正在检查该数字...
该数字不是素数

解释

  • 名为‘check_prime’的方法被定义,它接受并赋值给 None 作为参数。
  • 如果变量为 None,则将变量赋值为减 1 的数字。
  • 如果变量的值大于 2,则将数字除以值,并将其余数与 0 进行比较。
  • 如果余数为 0,则将其视为非素数。
  • 否则,通过传递数字再次调用该方法,并将值减 1。
  • 在函数外部,要求用户输入需要检查的数字。
  • 通过调用函数并将此值作为参数传递来检查数字。
  • 相关输出显示在控制台上。

相关文章