質(zhì)數(shù)是指只能被1和它本身整除的正整數(shù)。在計(jì)算機(jī)科學(xué)中,求質(zhì)數(shù)也是一項(xiàng)基本的算法。在Python中,我們可以使用以下方法來求質(zhì)數(shù)。
def is_prime(n): """ 判斷一個(gè)數(shù)是否是質(zhì)數(shù) """ if n< 2: return False for i in range(2, int(n ** 0.5) + 1): if n % i == 0: return False return True def get_prime(n): """ 求小于等于n的所有質(zhì)數(shù) """ primes = [] for i in range(2, n + 1): if is_prime(i): primes.append(i) return primes
首先定義一個(gè)函數(shù)is_prime(n),用于判斷一個(gè)數(shù)是否是質(zhì)數(shù)。如果這個(gè)數(shù)小于2,則不是質(zhì)數(shù);如果這個(gè)數(shù)可以被2到n的平方根范圍內(nèi)的數(shù)整除,則不是質(zhì)數(shù);否則就是質(zhì)數(shù)。
接著定義一個(gè)函數(shù)get_prime(n),用于求小于等于n的所有質(zhì)數(shù)。通過循環(huán)從2到n,判斷每個(gè)數(shù)是否是質(zhì)數(shù),并將是質(zhì)數(shù)的數(shù)保存到列表中。
使用這兩個(gè)函數(shù)就可以方便地求出質(zhì)數(shù)了。例如,調(diào)用get_prime(20)就可以得到小于等于20的所有質(zhì)數(shù)[2, 3, 5, 7, 11, 13, 17, 19]。