1. 程式人生 > >求某個數以內的素數

求某個數以內的素數

什麼是素數:

 除了1和自身不能被其他數整除的正整數

程式碼:

import java.util.Scanner;
public class Test {

     public static void main(String[] args){
    	 
    	 System.out.print("請輸入一個數: ");
    	 Scanner sc = new Scanner(System.in);//輸入
    	 int num = Integer.parseInt(sc.nextLine());//將輸入字元轉換為int型
    	 sc.close();
    	 int i,j,sum=0;//變數sum用於記錄素數的個數
    	 
    	 //求一個數的所有素(質)數
    	 System.out.print(num+"以內的素數有:");
    	 for ( i = 2 ; i <= num ; i++ ){
              
    		 for ( j = 2 ; j <= Math.sqrt(i) ; j++ )//Math.sqrt()求i的開平方
                  if ( i%j == 0 )                   //如果除了1和自身還能被其他數整除,則不是素數,跳出迴圈
            		  break;                        
               
             if ( j > Math.sqrt(i) )//如果是正常迴圈結束後跳出就說明是素數,輸出,否則不輸出
             {	  
            	 System.out.print(i+" ");
                 if ( ++sum%10 == 0 )//每10個換一行
            	      System.out.println();
             }

    	 }
    	 
    	 System.out.println();
    	 System.out.print("一共有"+sum+"個");
     }

}

執行結果:

在這裡插入圖片描述