public static void get_primes(int n) { st[1] = true; for(int i=2;i <= n;i++) { if(!st[i]) {//如果此数是素数 primes[++cnt] = i;//将此素数保存 } for(int j=1;primes[j] <= n / i;j++) { st[primes[j]*i] = true; if(i % primes[j] == 0) {//避免重筛,使得程序更有效率 break; } } } }
public static void get_primes(int n) { st[1] = true; for(int i=2;i <= n;i++) { if(!st[i]) {//如果此数是素数 primes[++cnt] = i;//将此素数保存 } for(int j=1;primes[j] <= n / i;j++) { st[primes[j]*i] = true; if(i % primes[j] == 0) {//避免重筛,使得程序更有效率 break; } } } }