java求素数代码

Python09

java求素数代码,第1张

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

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

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

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

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

执行结果图:

扩展资料:

实现功能的编程事项:

1、模块化思想。

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

2、注意注释。

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

3、注意参数命名。

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

1、目前使用较有效的方法是试除法。用试除法判断一个自然数a是不是素数时,用各个素数从小到大依次去除a,如果到某一个素数正好整除,这个a就可以断定不是素数;如果不能整除,当不完全商又小于这个素数时,就不必再继续试除,可以断定a必然是素数。

2、素数又称质数。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,换句话说就是该数除了1和它本身以外不再有其他的因数;否则称为合数。

3、素数是与合数相对立的两个概念,二者构成了数论当中最基础的定义之一。基于质数定义的基础之上而建立的问题有很多世界级的难题,如哥德巴赫猜想等。目前为止,人们未找到一个公式可求出所有素数,所以还没有固定的判断公式。

4、一般记住100以内的素数就可以了。有2、3、5、7、11、13、19、17、23、29、37、31、41、47、43、53、59、61、71、67、73、83、89、79、97,一共25个。

public static void main(String[] args) {

int count = 0

int sum = 0

for (int i = 2i <= 100i++) {

boolean flag = false

for (int j = 2j <= i >>1j++) {

if (i % j == 0) {

flag = true

break

}

}

if (!flag) {

System.out.print(i + " ")

sum += i

count++

}

}

System.out.println()

System.out.println("1--100之间的素数(也称质数)的个数 -->"+count)

System.out.println("1--100之间的素数(也称质数)的个数之和 -->"+sum)

}