可以使用以下方法來求整數n以內的素數:
創建一個空的列表primes
來存儲素數。
創建一個長度為n+1的布爾類型列表is_prime
,初始化所有元素為True
。其中is_prime[i]
表示數字i是否為素數。
從2開始,遍歷2到n的所有數字i:
is_prime[i]
為True
,則將i添加到primes
列表中,并將is_prime
中i的所有倍數(除了i本身)設置為False
。primes
列表。以下是一個使用上述方法求解整數n以內的素數的示例代碼:
def find_primes(n):
primes = []
is_prime = [True] * (n+1)
for i in range(2, n+1):
if is_prime[i]:
primes.append(i)
for j in range(i*2, n+1, i):
is_prime[j] = False
return primes
n = int(input("請輸入一個整數n:"))
result = find_primes(n)
print(f"整數{n}以內的素數為:{result}")
這個代碼會提示用戶輸入一個整數n,然后調用find_primes
函數來求解n以內的素數,并將結果打印出來。