代码如下,不过并不是传统的求素数的方法。
坚守“ 做人真诚 · 做事靠谱 · 口碑至上 · 高效敬业 ”的价值观,专业网站建设服务10余年为成都茶楼设计小微创业公司专业提供成都企业网站建设营销网站建设商城网站建设手机网站建设小程序网站建设网站改版,从内容策划、视觉设计、底层架构、网页布局、功能开发迭代于一体的高端网站建设服务。
public class Test{
public static void main(String[] args){
int[] c = new int[1000];
for(int i=0; i1000; i++)
c[i]=0;//先将所有值初始化为0
for(int i=2; i500; i++)
for(int j=2; i*j1000; j++)
c[i*j]=1;//如果值发生改变说明不是素数
for(int i=100; i1000; i++)
if(c[i]==0)
System.out.print(i+" ");
}
}
输出结果如下:
求1-N以内的所有素数,实现思路如下:
1、 得到1到n之间的素数,存到一个ArrayList集合。
2、判断一个数是不是素数:只能被1和本身整除
说明:从2开始除,不需要到n,也就是循环条件是 n 就可以,这之间只要被整除了,那么他就不是素数了。
3、设置主函数,运行 getPrimeNumberToN获取限定范围内的素数。
执行结果图:
扩展资料:
实现功能的编程事项:
1、模块化思想。
先拆分需求,先拆分先考虑怎么确定一个数是不是素数,然后再复用到所有。不能把方法堆到一起,否则无法复用代码。
2、注意注释。
就算是自己的测试代码,尽量写清楚注释,这样即使过了三个月,再看代码,也能清晰明了。不要觉得简单,就懒得注释。
3、注意参数命名。
从类名到方法名,再到变量名,都不能随意取名,关于这个命名,不要嫌弃长,重点是意思清楚明白。见名知意(语义化),是最好的。
int i,j;
for(i = 2; i = 100; i++){//从2数到100,判断之间的每一个数是否是质数
//下面的循环是质数判断过程
for(j = 2; j = i/2; j++){
if(i % j == 0)
break;//如果这个数能被一个数整除,那么这个数不是质数。break的作用是跳出此次循环,进入下一次循环。
}
if(j i/2){
System.out.println(i);//如果这个数不能被自身1/2的数整除,他就是质数,输出这个数.System.out.println()这个语句就是输出语句
}
}
System.out.println();//这句语句是多余的,什么也没打印。
完整代码及运行结果如图。
拓展资料
质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。
这道题只要理解质数的计算方法就容易解答。