对于素数的查找:
如题,我们要寻找素数。倘若我们要设计一个系统去找到这个素数,因此我们应该知道什么是素数,我应该用什么数学算法去判断它是素数,并合理的设计一套程序去运行它。
首先.素数的的定义是能被一或本身整除的数。然后我根据它的概念可以想到,如果这个数能被2除尽,那这个数就并不是素数,因此它不能被2除尽,再想,如果它能被2除尽,那一定还对应另一个数可以被它除尽得2,在进行缩小范围,被3除尽,然后得到该数得三分之一....因此通过前两个思路我们可以知道,这个素数满足得条件应为:不能被2~它自身一半之间所有得数除尽。
清楚了这之后,我们就可以就行编写了:
进行一波分析(以100~200之间得数):
1.我们要找100~200之间素数,首先需要找到这之间的数,我们可以利用循环解决这个问题(这里以for循环为例)
for(int i = 100;i<=200;i++){
System.out.println(i);
}
该程序可以得到这个100~200的数据。
2.我们要根据这个质数的判断规则,来进行设计程序(利用if条件书写判断条件)由于我们需要判断j~i/2是不是都可以除尽,换言之只要其中其中有一个可以除尽,则这个数就不可能是素数因此我们可以这样写
public class sushuo {
public static void main(String[] args) {
search(101,200);
}
public static void search(int start ,int end){
for (int i = start;i<=end;i++){
boolean a = true;
for (int j = 2;j<=i/2;j++){
if (i%j==0){
a=false;
break;
}
if (a){
System.out.println(i);
break;
}
}
}
}
}
利用双for循环在判断出i是不是可以被2~i/2除尽,为了达成这个条件利用boolean类型以及for循环内的刷新机制,此处的boolean值不能在for外面否则程序将无法运行。
如果需要找素数可以利用上述的方法进行计算。