编写一个程序,找出大于200的最小的质数

/**
 * 编写一个程序,找出大于200的最小的质数
 * 质数定义为在大于1的自然数中,
 * 除了1和它本身以外不再有其他因数。
 */
 
package lianxiti;
 
publicclass Di16 {
 
    publicstaticvoid main(String[] args) { 
 
        //法一:
 
        inti = 200; 
 
        outter:while (i >= 200) { //设置break点outter,控制流程,找到时即会跳出while循环
 
            innner:for(intj = 2; j < i;j++){ //设置break点outter,控制流程 ,j<i
 
                while (i % j == 0) { 
 
                    break innner; 
 
                } 
 
                if (j == i-1) {  //当j==i-1时,上面的while执行过后仍不成立;再下一个就是它本身。
 
                    break outter; 
 
                } 
            } 
        i++; 
 
        } 
        System.out.println(i);         
    } 
}
 
 
 
 
 
/**
 * 求大于200的最小的质数
 * 只能被1和自身整除
 * n
 * 在2~n-1,如果存在一个数x能够被n整除(n%x==0),则这个不是质数
 */
 
package lianxiti;
 
publicclass minZhishu {
 
    publicstaticvoid main(String[] args) {
 
       
 
        //法二:
 
//      outer:for(int i=201; i<300; i++) {
 
//          inner: for(int y=2; y<i;y++){  //y每次都从2开始累加直至加到i-1(本身-1),控制次数
 
//              if(i%y==0){
 
//                  break inner; //如果存在一个数x能够被n整除,则这个不是质数,跳出该次循环,开始下一个数验证。
 
//              }
 
//              if(y==i-1){  //找到质数的条件是,y累加到i-1了,依然没有找到一个数成立(i%y==0)
 
//                  System.out.println(i);
 
//                  break outer;
 
//              }
 
//          }
 
//      }
 
       
 
        //法三:
 
        outer:for(inti=201; i<300; i++) {
 
            booleanflag = true;
 
            inner: for(inty=2; y<i; y++) {
 
                if(i%y==0) {
 
                    flag = false;
 
                    break inner;
 
                }
            }
 
            if(flag) {
 
                System.out.println(i);
 
                break outer;
 
            }
        }
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_41888813/article/details/81352775
今日推荐