java求素数代码

 我来答
加百列windy
高粉答主

推荐于2019-09-25 · 每个回答都超有意思的
知道小有建树答主
回答量:2074
采纳率:100%
帮助的人:95.3万
展开全部

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

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

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

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

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

执行结果图:

扩展资料:

实现功能的编程事项:

1、模块化思想。

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

2、注意注释。

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

3、注意参数命名。

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

随着风失忆
2020-02-20
知道答主
回答量:3
采纳率:0%
帮助的人:1886
展开全部
一、素数存放数组
int[] array=new int[100];
int i,j;
int Index=0;//设置一个变量用于存放索引的改变
for (i=2;i<=100;i++){ //外循环进行遍历素数范围
for(j=2;j<i;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;k<Index;k++)//输出,实际存放个数则为Index
System.out.println(array[k]);
}
最后如果不存放数组直接输出的话,只需要在array[Index]=i处直接使用System.out.println(i)即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-07
展开全部
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是素数
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-05-23
展开全部
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(j<i)
continue;

else

System.out.print(i);

}
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-07
展开全部
如下是球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+"个素数");
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式