Python最大質數

在Python中,可以使用以下代碼來找到一個範圍內的最大質數:

def is_prime(n):
    if n <= 1:
        return False
    if n <= 3:
        return True
    if n % 2 == 0 or n % 3 == 0:
        return False
    i = 5
    while i * i <= n:
        if n % i == 0 or n % (i + 2) == 0:
            return False
        i += 6
    return True

def find_max_prime(max_number):
    max_prime = 2
    while max_prime <= max_number:
        if is_prime(max_prime):
            if is_prime(max_prime + 1) == False:
                max_prime += 1
            else:
                return max_prime
        max_prime += 1
    return max_prime

# 示例:找到100以內的最大質數
max_number = 100
max_prime = find_max_prime(max_number)
print("The largest prime number less than or equal to", max_number, "is", max_prime)

這個程式定義了一個is_prime函數來檢查一個數是否為質數,然後定義了一個find_max_prime函數來找到在給定範圍內的最大質數。最後,它列印出在100以內的最大質數。

請注意,這個算法是基於試除法來檢測質數的,對於非常大的數字,這個方法可能會非常慢。對於尋找非常大的質數,可以使用更高效的算法,如Miller-Rabin質數檢測算法。