public class Find{
public static void main(String args[]){
System.out.println("* * 100-200间的所有素数* *");
int n=0;
lab:
for(int i=101;i<200;i+=2){
int k=15; //看不懂这一步,和下面的FOR
for (int j=2;j<=k;j++) //还有这一步,
if(i%j==0)
continue lab; //这一步也的点晕
System.out.print(" "+i);
n++;
if(n<10)
continue;
System.out.println();
n=0; //这地方的n=0又是干什么用的啊
}
System.out.println();
}
}
假设数为m,不能被<=Math.sqrt(m)的数整除的话,那么m则是素数,
15*15 = 225 < 200;
contunue lab判断不是素数就返回+1继续。
后面的赋值n=0是为了断行。可以自己改一下值判断一下
continue;
System.out.println();
这里是为了一行输出10个数
public static void main(String args[]){
System.out.println("* * 100-200间的所有素数* *");
int n=0;
lab:
for(int i=101;i <200;i+=2){
int k=15; //这一步是给K赋值,为了控制下面的for循环的结束.
for (int j=2;j <=k;j++) //从j=2开始循环,到j=k(也就是j=15了)停止循环,每循环一次j+1.
if(i%j==0)
continue lab; //是返回外层循环,也就是当IF 成立的时候程序返回外循环继续循环
System.out.print(" "+i);
n++;
if(n <10)
continue;
System.out.println();
n=0; //是一个记数用的,当一行的素数的个数大于10的时候n=0就是换行继续
}
System.out.println();
}
}
还是有点不太懂???
public static void main(String args[]){
System.out.println("* * 100-200间的所有素数* *");
// int n=0;
lab:
for(int i=101;i <200;i+=2)
{
int k=15; //看不懂这一步,和下面的FOR
for (int j=2;j <=k;j++) //还有这一步,
if(i%j==0)
continue lab; //这一步也的点晕
System.out.println(" "+i);
}
// n++;
// if(n <10)
// continue;
// System.out.println();
// n=0; //这地方的n=0又是干什么用的啊
// }
// System.out.println();
}
}