馬上加入Android 台灣中文網,立即免費下載應用遊戲。
您需要 登錄 才可以下載或查看,沒有帳號?註冊
x
本帖最後由 free576002 於 2014-1-9 18:43 編輯
我在Eclipse Java 寫一個計算X~Y範圍質數的程式碼
使用上都ok沒有問題
但是換上去Android後卻會有錯誤結果 以下是我的程式碼
- private void sumAB(int a, int b) {
- StringBuffer buf=new StringBuffer();
- int debug = 0 ;
- int loopTime=-1; //陣列位置宣告
- int sum[]=new int [1000];
- int t = 0 , t1 = 0 , t2 = 0; //整數宣告
- for (int n = 0 ; a <= b ; a++) { // x~y範圍內值數
- t = a%2; //求除2的餘數
- if (t != 0) { //餘數!=0
- if (a == 1) {
- a=a+1; //1不為質數但2為質數 故當a=1時 a+1使其為2
- loopTime = loopTime+1; //每新增一個數就指定該值的陣列位置
- sum[loopTime] = a; //a所對應的陣列位置
- } else { // a != 1
- loopTime = loopTime+1;
- sum[loopTime] = a;
- }
- }
- } //求餘數,且3 5 7 11 13質數 需保留
- for (int loopA = 0 ; loopA <=loopTime ; loopA++) {
- t2 = sum[loopA]%3;
- if (t2 != 0 && sum[loopA] !=3)
- if (sum[loopA]%5 !=0 ||sum[loopA]==5)
- if (sum[loopA]%7 !=0 ||sum[loopA]==7)
- if (sum[loopA]%11 !=0 ||sum[loopA]==11)
- if (sum[loopA]%13 !=0 ||sum[loopA]==13)
- for(int value : sum)
- buf.append(value + "");
- Ans.setText(buf.toString());
-
- }
- }
複製代碼
假設要計算1~25的質數 (紅色字非質數)會出現以下
2 3 5 7 9 11 13
15 17 19 21 23 25
請問該如何修改 |