我想知道这个程序如何知道一个数字是否是素数。我知道它会检查余数以找到要除以的偶数,但它怎么知道一个数字只有 2 个因数?我是递归概念的新手,所以对这些步骤的解释会很有帮助,谢谢。
代码
def RecIsPrime(m):
"""Uses recursion to check if m is prime."""
def PrimeHelper(m, j):
"""Helper Function to iterate through all j less than m up to 1 to look for even divisors."""
if j == 1: # Assume 1 is a prime number even though it's debatable.
return True
else:
#do this task if both conditionals are true
#else break and return false.
return m % j != 0 and PrimeHelper(m, j - 1)
return PrimeHelper(m, m -1)
资源
https://github.com/hydrogeologist/LearningPython/blob/master/_recursion%20example%20in%20Python
线路:184 至 194