以下是一個使用def函數輸出素數的Python代碼示例:
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
def print_primes(n):
primes = []
for i in range(2, n+1):
if is_prime(i):
primes.append(i)
print(primes)
# 調用函數輸出指定范圍內的素數
print_primes(100)
運行以上代碼,會輸出以下結果:
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
定義了兩個函數:is_prime
用于判斷一個數是否是素數,print_primes
用于輸出指定范圍內的素數。
is_prime
函數使用了一個優化的算法,即如果一個數不是素數,那么它一定可以被小于等于它平方根的數整除。因此,在判斷一個數n是否是素數時,只需要從2遍歷到int(n**0.5) + 1,如果存在能夠整除n的數,則n不是素數,返回False;如果都不能整除n,則n是素數,返回True。
print_primes
函數遍歷從2到n的數字,調用is_prime
函數判斷每個數字是否是素數,如果是素數,則將其添加到一個列表中。最后,輸出這個列表,即為指定范圍內的素數。