51Testing软件测试论坛

标题: 课堂上求质数的代码没有看懂,始终不理解 [打印本页]

作者: 宅腐女    时间: 2019-1-2 11:51
标题: 课堂上求质数的代码没有看懂,始终不理解
课堂上求质数的代码没有看懂,始终不理解for(int x=2;x<=10;x++){
   boolean flag=true;
      for(int y=2;y<=x/2;y++){
       if (x%y==0) {
        flag=false;     
    }
      }
       if (flag) {
        System.out.println(x+" ");
     
    }
      }
   

在学课程:
零基础学编程JAVA语言直通班
http://www.atstudy.com/course/1006


作者: 学掌门网校    时间: 2019-1-2 13:12
质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。

只要理解质数的原理,程序的实现方式其实不是唯一的;

以上面这段程序来讲,是要找出1-10间的质数,由于1不是质数,所以重2开始;

if (x%y==0) ,判断当前数X是否还能被自己和1以外的数字整除,如果是,那么就不是质数;

之所以x/2是为了节约运算时间,不用一个个数字逐一整除判断




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2