黑马程序员技术交流社区

标题: 求思路 [打印本页]

作者: 猜不得先生    时间: 2016-1-15 17:21
标题: 求思路
判断101-200之间有多少个素数,并输出所有素数。

作者: jacky左    时间: 2016-1-16 00:31
class Test {
        public static void main(String[] args) {
        //判断101-200之间有多少个素数,并输出所有素数。
        //质数又称素数,除了1和它本身以外不再有其他的因数的数
                for(int i=101;i<=200;i++){
                        for(int j=2;j<i;j++){//为什么从2开始?因为判断1没有意义
                                if(i%j == 0){        //i对j取余为0,说明i不是素数
                                        break;
                                }
                                if(j == i-1){        //遍历结束还没有找到说明这个数是素数
                                //if(j<i/2+1){ 也可以这样减少循环次数
                                        System.out.println(i+"是素数");
                                }
                        }
                }
        }
}

作者: qt520    时间: 2016-1-16 08:10
正解,一个一个算就行了
作者: wuxueshuan    时间: 2016-1-16 18:05
jacky左 发表于 2016-1-16 00:31
class Test {
        public static void main(String[] args) {
        //判断101-200之间有多少个素数,并输出所有素 ...

这位道友,内圈for循环改成这样是否更容易理解!{:3_57:}

for(int j=2;j<i;j++){//为什么从2开始?因为判断1没有意义
                                        if(i%j == 0){        //i对j取余为0,说明i不是素数
                                                break;
                                        }
                                        //if(j%i == 0){        //遍历结束还没有找到说明这个数是素数
                                        //if(j<i/2+1){ 也可以这样减少循环次数
                                        else {
                                        System.out.println(i+"是素数");
                                        break;
                                       // }
                                        }
                                }




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2