/* 利用continue或break敘述,找出小於100的最大質數
 *質數的定義是大於1的整數,除了1跟自己本身以外,沒有其他因數。
 */
public class hw5_18 {
public static void main(String[] args) {
boolean isPrime;  //宣告布林變數isPrime
int max=0;       //儲存最大質數
//LoopA:        //可使用continue+中斷標籤來撰寫
for(int i=2;i<=100;i++){
isPrime=true; //這裡宣告的目的是為了給最後的if敘述執行
     
  for(int j=2;j<i;j++){
  if(i%j==0){        //可以被1與自己以外的數整除,代表不是質數
  isPrime=false;  
  break;   
  /*
   當i可被j整除,Ex:當i=4,j=2,i可被j整除,代表不是質數
   因此可跳離當層迴圈(break)不需要再往下檢查j=3 j=4 j=5...的狀況
   continue LoopA;   continue LoopA代表回到離標籤最近的迴圈
   */
   }     
}
if(isPrime){  //寫在外迴圈內,此時isPrime為true,因此if敘述可執行
    
System.out.print(i+" ");  //印出1~100的質數
   if(max<i){   //找出最大質數
   max=i;
   }
}    
} 
   System.out.println("\n"+ "1到100最大質數為"+max);
}
}
沒有留言:
張貼留言