本文將探討如何使用while循環來求解最小的100個素數。
一、素數的定義
素數又稱質數,是指除了1和本身以外沒有其他因子的自然數。例如:2、3、5、7、11、13、17、19、23等均為素數。
二、while循環求解素數
在Python中,使用while循環判斷一個數是否為素數,可以用以下代碼:
def is_prime(num): """ 判斷一個數是否為素數 """ if num < 2: return False i = 2 while i*i <= num: if num % i == 0: return False i += 1 return True
在這個函數中,我們首先判斷傳入的數是否小於2,如果小於2,則不是素數;如果大於等於2,則從2開始循環判斷該數是否為素數,循環條件為i*i<=num,這是由於一個數的因子一定是小於或者等於該數平方根的數,所以只需要判斷小於或等於其平方根的數即可。如果該數有因子,則不是素數,返回False,否則循環繼續,最後返回True。
三、求解最小的100個素數
有了判斷一個數是否是素數的函數,我們就可以使用while循環來求解最小的100個素數了:
def get_prime(): """ 求解最小的100個素數 """ primes = [] num = 2 while len(primes) < 100: if is_prime(num): primes.append(num) num += 1 return primes
在這個函數中,我們首先定義一個空列表primes,用於存儲素數。然後從數值2開始循環,判斷該數是否為素數,如果是素數,則將其加入到primes列表中;如果不是素數,則繼續循環。當primes列表長度達到100以後,循環結束,返回primes列表即可。
四、完整代碼示例
下面是完整的代碼示例:
def is_prime(num): """ 判斷一個數是否為素數 """ if num < 2: return False i = 2 while i*i <= num: if num % i == 0: return False i += 1 return True def get_prime(): """ 求解最小的100個素數 """ primes = [] num = 2 while len(primes) < 100: if is_prime(num): primes.append(num) num += 1 return primes if __name__ == '__main__': primes = get_prime() print(primes)
五、總結
本文介紹了如何使用while循環來判斷素數,並且使用while循環求解最小的100個素數。讀者可以結合代碼,加深對Python的while循環及判斷素數的思路。
原創文章,作者:PAESF,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/373516.html