計算出 3 至 1000 范圍內最大的十個素數,放入數組中,並計算出其累加和。


看到這個題.首先得想什么是素數.

素數:是一個除了1和它本身之外再無任何因子的正整數.

結合題目,要求找出范圍內最大的10個素數,那么我們可以從1000開始找起,逐個遞減,並判斷是否是素數,如果是,就累加.找到第10個為止.

當然如果想要代碼以后重用的靈活性更大,也可以把符合要求的數放入一個數組,再依次相加即可.

下面通過代碼具體注釋.

 1 public class Test1_8 {        //創建一個測試類 
 2 public static void main(String[] args){ //包含一個主函數,必須是public static ,且參數是字符串
 3 int n=0,s=0;
 4 int []zArray=new int[10];       //新建一個數組.格式: 數組類型 []數組名=new 數組類型[數組個數];當然如果個數不確定,可以用動態數組.導入包java.util.ArrayList
 5 for(int i=999;i>=3;i-=2){       //找到所有素數.從999開始倒着找
 6 for(int j=2;j<i;j++){         
 7 if(i%j==0)             //從2開始依次試除
 8 break;              //首先i與j此時不可能相等,但若不相等還可以除盡則表示j是除1和它本身之外的因子,即是素數.跳出不再循環.
 9 if(j==i-1)             //j與i-1相等.因為判斷條件j<i.如果i是一個素數,那么j==i-1.如果不是則不等.
10 {
11 zArray[n]=i;            //是素數,存入數組,並將數組個數相加
12 n++;    
13 }    
14 }
15 if(n==10) break;          //已經有10個,跳出不再尋找
16 }
17 for(int i=0;i<10;i++){        
18 s+=zArray[i];            //將數組中的10個元素相加
19 System.out.println(zArray[i]);     //依次輸出數組元素
20 }
21 System.out.println(s);        //輸出和
22 }
23 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM