欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

python 遞歸求素數(shù)

傅智翔2年前9瀏覽0評論

Python是一門高效、簡單易學(xué)的編程語言,也是學(xué)習(xí)算法和數(shù)據(jù)結(jié)構(gòu)的入門語言之一。在Python中,遞歸求素數(shù)是一道經(jīng)典的算法題目,下面我們來看看如何用Python實現(xiàn)遞歸求素數(shù)。

def is_prime(n):
if n<= 1:
return False
elif n == 2:
return True
elif n % 2 == 0:
return False
else:
i = 3
while i * i<= n:
if n % i == 0:
return False
i += 2
return True
def recursive_prime(n):
if n<= 1:
return []
elif is_prime(n):
return recursive_prime(n-1) + [n]
else:
return recursive_prime(n-1)

首先,我們定義一個函數(shù)is_prime(n),用于判斷當(dāng)前的數(shù)n是否是素數(shù)。接著,我們定義了一個遞歸求素數(shù)的函數(shù)recursive_prime(n)。其中,當(dāng)n小于等于1時,直接返回一個空列表[];如果n是素數(shù),則將結(jié)果遞歸與n-1的結(jié)果合并;否則遞歸調(diào)用n-1。

最后,我們可以調(diào)用recursive_prime(n),得到1~n中所有素數(shù)的列表。

print(recursive_prime(10)) # [2, 3, 5, 7]
print(recursive_prime(20)) # [2, 3, 5, 7, 11, 13, 17, 19]
print(recursive_prime(30)) # [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]

通過上述代碼,我們可以輸出1~n的素數(shù)列表。