使用递归查找数字是否为素数的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再次调用该方法。
在功能之外,要求用户输入需要检查的数字。
通过调用函数并将此值作为参数传递来检查数字。
相关输出将显示在控制台上。