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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马嗨嗨嗨 高级黑马   /  2016-11-29 22:04  /  1213 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*题目:判断 101-200 之间有多少个素数,并输出所有素数。
程序分析:判断素数的方法:用一个数分别去除 2 到 sqrt(这个数),如果能被整除, 则表明
此数不是素数,反之是素数
思路:1、for循环嵌套
      2、用if来判断是否整除,如果能则不是、不能则是
          3、判断首先2~sqrt必须不能被sqrt整除,再x==sqrt-1时,才能记做一个素数。
*/
class Test4
{
        public static void main(String[] args)
        {System.out.println("在101到200之间素数有:");
                System.out.println('\n'+"总数为:"+sushu());
        }
        public static int sushu()
        {       
                int p=0;
                int count=0;
                for (int sqrt=101;sqrt<=200 ;sqrt++ )
        {
                        for (int x=2;x<sqrt ;x++ )
        {
                                p=sqrt%x;
                if (p==0)
                {
                        break;
                }
                else if (p!=0 && x==sqrt-1)
                {
                        count++;
                        if(count%4==0)
                        {System.out.println();
                        }
                        System.out.print(sqrt+" "+'\t');
                }
        }
        }
        return count;
        }
}
我想让结果素数4个4个一组排列。。。。结果第一行只出现三个。。这是怎么回事啊。。。就第一行,其他行都是4个一排

QQ截图20161129220345.png (4.9 KB, 下载次数: 14)

QQ截图20161129220345.png

5 个回复

倒序浏览
素数一般又称质数。并不是被2整除就叫素数
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
1,2,3
4,5,6,7
8,9,10,11
你现在的打印时对应的count值就像上面所示,
count是从1开始的,如果从0开始就好,
将count++放在判定之后就好
回复 使用道具 举报
飞扬跋扈 发表于 2016-11-29 22:28
素数一般又称质数。并不是被2整除就叫素数

他这是从2到该数的平方根
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
明月已驻人何在 发表于 2016-11-30 01:00
他这是从2到该数的平方根

啊,是到平方根啊,sqrt原来是平方根的意思~我以为是2到这个数减一,这个数都不能被整除,就是素数~
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
if(count%4==0)  {System.out.println();  }        System.out.print(sqrt+" "+'\t');  这两条调换位置也可以 先输出数字再换行
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马