このプログラムは、数値が素数かどうかをどのように認識しているのか疑問に思っていました。除算する偶数を見つけるために剰余をチェックすることは理解していますが、数値の因数が 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