1:求100以内的全部素數(質數)
<span style="font-size:18px;">public class TestContinueOuter {
public static void main(String[] args) {
int n=0;
outer: for(int i=2;i<100;i++ ){
for(int j=2;j<i;j++){
if(i%j==0)
continue outer;
}
System.out.print(i+"\t");
n++;
if(n%5==0)
System.out.println();
}
}
}</span>
2:由于素數都是基數(否則可被自身的一半整除),故可将第一個for循環設為for(int i=2;i<100;i+=2)
<pre name="code" class="java"><span style="font-size:18px;">public class TestContinueOuter {
public static void main(String[] args) {
int n=1;
System.out.print(2+"\t");
outer: for(int i=3;i<100;i+=2){
for(int j=2;j<i;j++){
if(i%j==0)
continue outer;
}
System.out.print(i+"\t");
n++;
if(n%5==0)
System.out.println();
}
}
}</span>
3: 事實上,第二個循環試除的數隻要試到sqrt(j)即可:
public class TestContinueOuter {
public static void main(String[] args) {
int n=1;
System.out.print(2+"\t");
outer: for(int i=3;i<100;i+=2){
for(int j=2;j<=Math.sqrt(i);j++){
if(i%j==0)
continue outer;
}
System.out.print(i+"\t");
n++;
if(n%5==0)
System.out.println();
}
}
}