java求素数代码

2024年11月15日 10:36
有5个网友回答
网友(1):

求1-N以内的所有素数,实现思路如下:

1、 得到1到n之间的素数,存到一个ArrayList集合。

2、判断一个数是不是素数:只能被1和本身整除

说明:从2开始除,不需要到n,也就是循环条件是 < n 就可以,这之间只要被整除了,那么他就不是素数了。

3、设置主函数,运行 getPrimeNumberToN获取限定范围内的素数。   

执行结果图:

扩展资料:

实现功能的编程事项:

1、模块化思想。

先拆分需求,先拆分先考虑怎么确定一个数是不是素数,然后再复用到所有。不能把方法堆到一起,否则无法复用代码。

2、注意注释。

就算是自己的测试代码,尽量写清楚注释,这样即使过了三个月,再看代码,也能清晰明了。不要觉得简单,就懒得注释。

3、注意参数命名。

从类名到方法名,再到变量名,都不能随意取名,关于这个命名,不要嫌弃长,重点是意思清楚明白。见名知意(语义化),是最好的。

网友(2):

一、素数存放数组
int[] array=new int[100];
int i,j;
int Index=0;//设置一个变量用于存放索引的改变
for (i=2;i<=100;i++){ //外循环进行遍历素数范围
for(j=2;j if(i%j==0) //判断在1-i之间是否存在能让i整除的数
break; //如果存在就代表,不是素数,反之则是
if (j==i){ //如果j==i,则证明在1-i之间没有数能整除i,说明i是一个素数
array[Index]=i; //将i存放进数组
Index++; //每存放一个数,则索引位置加1
}
else
continue; //如果不相等,则继续外循环下一个数
}
for (int k=0;kSystem.out.println(array[k]);
}
最后如果不存放数组直接输出的话,只需要在array[Index]=i处直接使用System.out.println(i)即可

网友(3):

public class test {
public static void main(String ags[]) {
for(int i = 1; i <= 100; ++i) // 测试输出1~100之间的素数
if(isPrime(i)) System.out.print(i + " ");
}

static boolean isPrime(int n) // 检测数n是否是素数的函数
{
int i;
if(n < 2) return false; // 排除0,1
for(i = (int)Math.sqrt(n); i >= 2; --i)
if(n % i == 0)
break;
return i == 1; // 如果除1和n本身以外没有其他因子,那么n是素数
}
}

网友(4):

class Sushu
{
public static void main(String args[])
{
int i, j;
for (i = 1; i <= 100; i++)
{
for (j = 2; j < i; j++)

if (i % j== 0) break;
if(jcontinue;

else

System.out.print(i);

}
}
}

网友(5):

如下是球100到200之间的素数public class shisi {
public static void main(String[] args){
int sum = 0;
int num = 0;
boolean isNum=false;
System.out.println("素数分别如下:");
for(int i=101;i<=200;i++)
{
for(int j=2;j<=(int)Math.sqrt(i);j++)
{
if(i%j==0)
{
isNum=false;
break;
}
else
{
isNum=true;
num=i;
}
}
if(isNum)
{
sum++;
System.out.println(num);
}
}
System.out.println("一共有"+sum+"个素数");
}
}