素数,又叫做质数。除了1和它本身以外不能整除其他的数
特别注意,0和1,都不是素数,素数有像2,3,5,7,11......
因此在编写代码的时候,要注意,利用素数的本身特性进行解题。
方法一(代标记判断素数)
因为思想很简单,用两层for循环嵌套,外层的控制数字,内层的要遍历每一个数,看能否被外层数字整除。如果能够被整除,就标记它。最后看是否被标记,标记了就不是素数。
代码:
public class Main {
public static void main(String[] args) {
//求素数的值
int flag=0;
for(int i=2;i<=50;i++){//素数是从2开始的。
for(int j=2;j<i;j++){
if(i%j==0){
flag=1;//被标记过,说明他是合数,就不用继续整除了
break;
}
}
if(flag==0){
System.out.print(i+" ");
}
flag=0;
}
}
}
运行结果:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
方法二:(不用标记)
假设一个数是素数,那j的值能从2,3,...,i-1,所以这样的数一定是素数。所以可以用j>=i,
来判断它到底是不是素数。
public class Main {
public static void main(String[] args) {
//求素数的值
int i,j;
for( i=2;i<=50;i++){
for( j=2;j<i;j++){
if(i%j==0){
break;
}
}
if(j>=i){
System.out.print(i+" ");
}
}
}
}
运行结果:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
注:如有错误,请务必指出,一起讨论,一起进步!