• 题目大概的意思是: 查找2~N范围内所有的素数


    题意简单,粗暴。

    首先需要考虑,一个数字需要怎么判断它是否是素数?
    普及一下素数的概念:除了 1 和 它本身外没有能被整除的数,我们称为素数
    以数字 7为例:   int su = 7;  给 su 贴一个标签 假设是素数,boolean flag = true;
    然后我们根据素数的概念可以写出一下循环:
    for(int i = 2; i < su; i++){
        if(su%i==0)  {//有可以被整除的数字,说明su不是素除这时候我们就需要做两件事情
            //1. 需要把su的标记改成false说明它不是素数
            flag = false;
            //2. 然后跳出循环,因为有一个可以被整除就说明它不是素数了,继续判断下去没有意义。
             break;
        }
    }
    当学会判断某个数字是否为素数后,查找2~N范围内的素数就容易很多,因为我们直到for就是重复干相同一件事情的。所以外层嵌套一个for就可以了。
    for(int su = 2; su < N; su++){
        for(int i = 2; i < su; i++){
            if(su%i==0)  {//有可以被整除的数字,说明su不是素除这时候我们就需要做两件事情
                //1. 需要把su的标记改成false说明它不是素数
                flag = false;
                //2. 然后跳出循环,因为有一个可以被整除就说明它不是素数了,继续判断下去没有意义。
                 break;
            }
        }

       if(flag){
          //如果flag = true 则说明su为素数,直接输出就好了。
          System.out.println(su);
       }
    }