日期:2014-05-20 浏览次数:21092 次
public class zhishu {
    public static void main(String args[]) {
        boolean flag = true;//是否是质数的标志位
        //忽略偶数
        for (int i = 101; i <= 200; i+=2) {
            flag = true;//还原标志位
            //判断范围 (3-根号i)中的奇数
            for (int j = 3; j < Math.sqrt(i); j+=2) {
                int k = i % j;
                if (k == 0){
                    //非质数 跳出内循环,将标志位置为false
                    flag = false;
                    break;
                }                    
            }
            if(flag)
                System.out.println(i);//是质数的话就输出
        }
    }
}
------解决方案--------------------
筛法+bitset?
可优化的地方还是相当多的
比如求100000000以内的质数?
------解决方案--------------------
Math.sqrt(i)很重要,可以让效率高很多。