Advertisement

埃氏筛法用于生成质数序列

阅读量:
复制代码
    import matplotlib.pyplot as plt
    import numpy as np
    
    # np.arange()函数返回一个有终点和起点的固定步长的排列,如[1,2,3,4,5],起点是1,终点是100,默认步长为1
    a = np.arange(1, 101)
    # 埃拉托斯特尼筛法,必须把不大于根号n的所有素数的倍数剔除,剩下的就是素数。
    n_max = int(np.sqrt(len(a)))
    is_prime = np.ones(len(a), dtype=bool)
    is_prime[0] = False
    
    for i in range(2, n_max):
    if i in a[is_prime]:
        is_prime[(i**2 - 1)::i] = False
        
    print(a[is_prime])
    
    
    AI写代码python
    

质数序列分布特征

全部评论 (0)

还没有任何评论哟~