找出小於n的最大質數

要找出小於n的最大質數,可以使用以下算法:

  1. 初始化一個變數i為2,因為2是最小的質數。
  2. 重複以下步驟,直到找到小於n的最大質數:
    1. 檢查i是否為質數。如果i不是質數,則將其除以i+1,並繼續檢查是否為質數。
    2. 如果i是質數,則將n設定為i,並繼續檢查下一個數字。
  3. 返回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的最大質數。