您的位置:首页 > 编程语言 > Java开发

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

2018-03-09 23:03 701 查看
/**

* 编写一个程序,找出大于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;

}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java
相关文章推荐