草庐IT

c++ - SPOJ 问题 KPRIMES2

我是这个论坛的新手,不太了解这个论坛的协议(protocol),所以请原谅我的无知。我的问题与spoj问题有关https://www.spoj.pl/problems/KPRIMES2/.对于这个问题,我遇到了TIMELIMITEXCEED。我认为这个程序的瓶颈是生成10^9。有人可以建议如何改进这个筛子,更快地生成素数或如何解决这个问题。这是我的算法草图此程序生成所有形式为2k+1的素数,并将这些素数编码为数组a[i]的32位整数,其中未设置的位表示素数。a[0]编码为3,5,7.......65.a[1]编码67等等。我采用了一个辅助数组bitcnt[],其中bitcnt[i]存储