快速线性筛法的原理和值得借鉴的方法【解析算法】

  • Post author:
  • Post category:其他



筛法求素数就是先认定所有的数是素数(int a[10000]={0}),再通过一些方法把合数踢掉(a[i’]=1)


一般筛法的思想是:从2开始找,素数的倍数(1倍、2

倍、3

倍,,,)


为合数。它的缺点是会重复筛除一些合数        (     像筛除3*5之后又会筛除5*3,这样会使复杂度很大)


快速线性筛法的特点就是不会重复筛除一个合数。它的原理是



前提是:一个合数



i=p1*p2*…*pn, pi都是素数(2<=i<=n),  pi<=pj  ( i<=j )




p1是最小的系数。这样每一个合数就有一个确定的表示方法,不会重复。(像12=2*2*3)



版权声明:本文为nuanxin_520原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。