primes.py 文件源码

python
阅读 28 收藏 0 点赞 0 评论 0

项目:concepts 作者: sminez 项目源码 文件源码
def debug_primes():
    '''
    Generate an infinite stream of primes and log out the size of
    the sieve as it increases
    '''
    max_sieve_size = 0
    sieve_size = 0

    sieve = defaultdict(list)
    k = 2

    while True:
        k_factors = sieve.get(k)
        if k_factors:
            del sieve[k]
            for f in k_factors:
                sieve[f+k].append(f)
            sieve_size = getsizeof(sieve)
            if sieve_size > max_sieve_size:
                max_sieve_size = sieve_size
                print('{}\tincrease: {} bytes'.format(k, max_sieve_size))
        else:
            yield k
            sieve[k ** 2] = [k]
        k += 1
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号