数学知识板子 / Math(updating)
作者:互联网
埃氏筛(朴素筛法求素数):
int prime[N], tot; bool st[N]; // true:not prime, false:is prime void get_primes(int n) { st[1] = true; for(int i = 2; i <= n; i++) { if(!st[i]) { prime[++tot] = i; for(int j = i + i; j <= n; j += i) st[j] = true; } } }
欧拉筛(线性筛法求素数):
int prime[N], tot; bool st[N]; // true:not prime, false:is prime void get_primes(int n) { st[1] = true; for(int i = 2; i <= n; i++) { if(!st[i]) prime[++tot] = i; for(int j = 1; i * prime[j] <= n; j++) { st[i * prime[j]] = true; if(i % prime[j] == 0) break; } } }
标签:prime,get,int,tot,st,updating,数学知识,true,Math 来源: https://www.cnblogs.com/jakon/p/15861941.html