簡體   English   中英

Java N的3或5的倍數之和

[英]Java Sum of multiples of 3 or 5 below N

找出N 以下 3或5的所有倍數的總和(整數)。我使用正常的AP系列公式進行此計算...但是有兩個測試用例出了錯,任何人都可以告訴我這段代碼有什么問題? 我沒有使用過顯示由於超時而終止的循環

   int T = sc.nextInt();
   double f1 =0;
   double f2 =0;
   double f3 =0;
   double sum =0;
   for(int i =0; i<T; i++){
       int n = sc.nextInt();

  // n1,n2,n3 are the number of multiples 
   int n1 = (n-1)/3;   
   int n2 = (n-1)/5;   
   int n3 = (n-1)/15;

 // summation formula of AP series  
   f1 = (n1/2.0)*(6+(n1-1)*3);   
   f2 = (n2/2.0)*(10+(n2-1)*5);
   f3 = (n3/2.0)*(30+(n3-1)*15);

// summation multiples of 3 OR 5    
   sum = f1-f3+f2;

// Printing the final integer
   System.out.println((int)sum);
   }
}

}

private int Sum(int N) {
    int sum = 0;
    for (int i = 3; i < N; i++) {
        if (i % 3 == 0 || i % 5 == 0) {
            sum += i;
        }
    }
    return sum;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM