A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 猜不得先生 中级黑马   /  2016-1-15 17:21  /  861 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

判断101-200之间有多少个素数,并输出所有素数。

3 个回复

倒序浏览
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+"是素数");
                                }
                        }
                }
        }
}
回复 使用道具 举报
正解,一个一个算就行了
回复 使用道具 举报
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;
                                       // }
                                        }
                                }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马