找出小於n的最大質數
要找出小於n的最大質數,可以使用以下算法:
- 初始化一個變數i為2,因為2是最小的質數。
- 重複以下步驟,直到找到小於n的最大質數:
- 檢查i是否為質數。如果i不是質數,則將其除以i+1,並繼續檢查是否為質數。
- 如果i是質數,則將n設定為i,並繼續檢查下一個數字。
- 返回n。
這個算法的時間複雜度是O(n),因為它只需要檢查每個數字是否為質數,而質數的數量是有限的。
下面是一個Python代碼示例,可以找到小於n的最大質數:
def find_max_prime_below(n):
i = 2
while True:
if is_prime(i) and i < n:
return i
i += 1
if i % 2 == 0:
i += 1
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
使用這個代碼示例,你可以調用find_max_prime_below(n)
函式來找到小於n的最大質數。例如,find_max_prime_below(10)
將返回3,因為3是第一個小於10的最大質數。