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質數檢測算法。