黑马程序员技术交流社区

标题: 打印1-100之间的所有素数及个数 [打印本页]

作者: liyansong2016    时间: 2016-6-7 22:09
标题: 打印1-100之间的所有素数及个数
class Test8 {
        public static void main(String[] args)        {
                /*
                思路:用键盘接收数据一个数据x,输出1-x之间所有的整数,然后遍历所有被除数,进行相除,如果
                结果为0了就判断一下两个数是否相等;最后在一行打印5个;        */       
                int count = 0;
                //遍历2到100的数字
                for (int i=2; i<=100; i++) {
                        //遍历除数
                        int y = 2;
                        for (; y<i; y++) {
                                //判断被除数除以除数的结果是否为0如果为0就跳出if
                                if (i%y == 0) {
                                        break;
                                }
                        }
                                //跳出后判断两个数是否相等
                        if (y == i) {
                                count++;
                                System.out.print(i+" ");
                                if (count % 5 == 0) {
                                        System.out.println();
                                }
                        }
                }
                System.out.println("一共有:"+count);
        }       
}
作者: sunnyday    时间: 2016-6-7 22:11
看不懂.真心看不懂
作者: kongdun1991    时间: 2016-6-7 22:15
不错,不错,学习了
作者: 我是你岁哥❤环    时间: 2016-6-8 00:34
  1. class Test2_day04 {
  2.         public static void main(String[] args) {
  3.                
  4.                 int count = 0;

  5.                 for (int number=2; number<=100; number++) {
  6.                        
  7.                         boolean flag = true;                        //定义标记为为true

  8.                         for (int i=2; i<=Math.sqrt(number); i++) {                        //i<number也可以
  9.                                 if (number % i == 0) {
  10.                                         flag = false;                                        //如果存在除了1和它本身之外的除数,flag=false
  11.                                         break;
  12.                                 }
  13.                         }
  14.                         if (flag) {                                                //如果是素数,计数输出
  15.                                 count++;
  16.                                 System.out.print(number + "\t");
  17.                                 if (count % 5 == 0) {
  18.                                         System.out.println();
  19.                                 }
  20.                         }

  21.                 }

  22.                 System.out.println("统计1到100之间的素数共" + count + "个");

  23.         }

  24. }
复制代码







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