程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> java 7-求第m個到第n個素數之間的素數和,求幫忙看下哪裡錯了 提取數組求和的時候總是在數組中出現0

java 7-求第m個到第n個素數之間的素數和,求幫忙看下哪裡錯了 提取數組求和的時候總是在數組中出現0

編輯:編程綜合問答
求第m個到第n個素數之間的素數和,求幫忙看下哪裡錯了 提取數組求和的時候總是在數組中出現0

public class All {
public static void main(String[] args) {
int a[] = new int[200];
//將前200個數中的素數提取出來放入數組a中
for(int i = 1 ; i < 200 ; i ++){
boolean isPrime = true;
for(int k = 2 ; k < i ; k ++){
if( i % k == 0){
isPrime = false;
break ;
}
}
if(isPrime){
a[i-1] = i;
System.out.println(a[i-1]); //打印確認
}
}

    //  輸入兩個數 m,n  求第m個素數到底n個素數之間的素數和
    Scanner small = new Scanner(System.in);
    Scanner large = new Scanner(System.in);
    int m = small.nextInt();
    int n = large.nextInt();
    int sums = 0 ;
    int suml = 0;
    int sum = 0;
    for(int i = 0 ; i < m ; i ++){
        sums += a[i];
        System.out.print(a[i]+"*");
    }
    for(int i = 0 ; i < n ; i ++){
        suml += a[i];
        System.out.print(a[i]+" ");
    }
    sum = suml - sums;
    System.out.println(sum);
}

}

最佳回答:


加個變量控制一下就行了。

public class All {
    public static void main(String[] args) {
        int a[] = new int[200];
        int index = 0;
        // 將前200個數中的素數提取出來放入數組a中
        for (int i = 1; i < 200; i++) {
            boolean isPrime = true;
            for (int k = 2; k < i; k++) {
                if (i % k == 0) {
                    isPrime = false;
                    break;
                }
            }
            if (isPrime) {
                a[index++] = i;
                System.out.println(a[index-1]); // 打印確認
            }
        }
        // 輸入兩個數 m,n 求第m個素數到底n個素數之間的素數和
        Scanner small = new Scanner(System.in);
        Scanner large = new Scanner(System.in);
        int m = small.nextInt();
        int n = large.nextInt();
        int sums = 0;
        int suml = 0;
        int sum = 0;
        for (int i = 0; i < m; i++) {
            sums += a[i];
            System.out.print(a[i] + "*");
        }
        for (int i = 0; i < n; i++) {
            suml += a[i];
            System.out.print(a[i] + " ");
        }
        sum = suml - sums;
        System.out.println(sum);
    }
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved