用java实现求素数

来源:互联网 发布:淘宝购物返利网哪个好 编辑:程序博客网 时间:2024/04/29 11:40
public class Sushu {

    /**
     * 取素数
     * 素数定义:除了1和本身之外,没有其它的约数的数。(数字2,循环时注意)
     * @param startNum 起始数
     * @param endNum 未尾数
     * @return
     */
    public static List<Integer> isPrime(int startNum,int endNum) {
        //标志位
        boolean flag = true;
        List<Integer> ls = new ArrayList<Integer>();
        
        for (int j = startNum; j <= endNum; j = j + 1) {
            flag = true;
            
            for (int i = 2; i <= Math.sqrt(j); i++) {
                //不是素数
                if (j % i == 0) {
                    flag = false;
                }
            }
            if (flag) {
                //把素数放入list中
                ls.add(j);

            }
        }
        return ls;
    }

    public static void main(String[] args) {
        System.out.println(isPrime(4,100));
    }

}