python如何快速生成一个大素数
时间: 2023-06-09 09:06:06 浏览: 265
可以使用Python的random和math库来实现快速生成大素数。以下是一段示例代码:
```
import random
import math
def generate_large_prime(n):
"""
生成一个n位数的大素数
"""
while True:
# 生成n位的随机数
num = random.randint(10**(n-1), 10**n-1)
# 判断num是否为素数
if is_prime(num):
return num
def is_prime(num):
"""
判断一个数是否为素数
"""
if num <= 3:
return num > 1
elif num % 2 == 0 or num % 3 == 0:
return False
else:
# 判断是否存在不在6的倍数两侧的素数
for i in range(5, int(math.sqrt(num))+1, 6):
if num % i == 0 or num % (i + 2) == 0:
return False
return True
```
使用示例:
```
n = 100
num = generate_large_prime(n)
print("生成的%位大素数为:", num)
```
阅读全文