-
个人简介
埃氏筛法:把每个质数的倍数标记为不是质数 时间复杂度:O(nlonglongn) 原理: 2:4 6 8 10 12 ......从2的二倍排除2的质数 3:9 12 15 ...... 从3的三倍开始排除3的指数(2倍已经被2排除了) 5:25 35 40 ...... 从5的五倍开始排除5的指数(2 3 4倍已经被2 4排除了) i:i*i (i+1)*i (i+2)*i 从i的i倍开始排除i的指数(2~(i-1)倍已经被2~(i-1)排除了) 丐版 int a[10000005]; a[0]=a[1]=1; for(int i=2;i<=10000005;i++){ if(!a[i]){ for(int j=i+i;j<=10000005;j+=i){ a[j]=1; } } } 优化(n以内的质数) a[0]=a[1]=1; for(int i=2;i*i<=n;i++){ if(!a[i]){ for(int j=i*i;j<=n;j+=i){ a[j]=1; } } } -
最近活动