1、素数统计:统计输出 start到end之间的所有素数?

2、明确什么叫素数:除了能被1和它本身整除外不能被其他数整除的数叫素数。

3、写了两种方法,两种思路

4、代码如下:


package com.tiger.prime_number;
import java.util.*;
/**
* 方法1
* @author tiger
* @Date 2017年9月5日
*/
public class PrimeCount {
public static void main(String[] args) {
List

list = primes(1,1000);
for (Integer integer : list) {
System.out.print(integer + " ");
}
System.out.println();
System.out.println("count = "+list.size());
}

private static List

primes(int start,int end){
List

list = new ArrayList

();
for (int i = start; i <= end; i++) {
list.add(Integer.valueOf(i));
if (i == 1) {
list.remove(Integer.valueOf(i));
}
for (int j = 2; j < i; j++) {
if (i%j == 0) {
list.remove(Integer.valueOf(i));
break;
}
}
}
return list;
}
}package com.tiger.prime_number;
/**
* @author tiger
* @Date 2017年9月5日
*/
public class PrimeCount2{
public static void main(String[] args){
int count = 0;
for(int i=1;i<1000;i++){
if(isPrime(i)){
count++;
System.out.print(i+" ");
}
}
System.out.println();
System.out.println("count = "+count);
}
//判断素数
private static boolean isPrime(int n){
boolean flag = true;
if(n==1){
flag = false;
}else{
for(int i=2;i<=Math.sqrt(n);i++){
if((n%i)==0 || n==1){
flag = false;
break;
}else{
flag = true;
}
}
}
return flag;
}
}