/*
用筛法求n之前的所有素数
*/
void 素数(int n){
/*
一个数 n 如果是合数,那么它的所有的因子不超过sqrt(n)--n的开方,
那么我们可以用这个性质用最直观的方法来求出小于等于n的所有的素数。
*/
int p = 0;
int[] judge = new int[0];//初始化为1
int[] prime = new int[0];
for(int i = 2; i < n; i++){
if (judge[i]==1){
prime[p++] = i;
//把当前数的倍数去除掉
for(int j = i; j<=n;j+=i){
judge[j] = 0;
}
}
}
for(int i = 0; i<p; i++){
System.out.println(prime[i]);
}
}
筛法选素数
最新推荐文章于 2024-06-28 22:25:27 发布
本文介绍了一种使用筛法求解n之前所有素数的方法。通过初始化一个判断数组,标记所有可能的合数,最终输出所有未被标记的素数。此算法利用了合数因子不超过其平方根的特性,效率较高。
1436

被折叠的 条评论
为什么被折叠?



