Series Summation with Quadratic Terms
Submit solution
Points:
10
Time limit:
1.0s
Memory limit:
64M
Authors:
Problem type
Allowed languages
Java 19, Java 8
題目說明
本題目要求完成一個 Java 程式,用於計算特定數列的總和。
程式將讀取兩個正整數 x 與 y,其範圍限制為 0 <= x <= y <= 100。
數列的每一項計算方式為:該項的索引值 i 的平方加上 x。
計算範圍從 i = 0 開始,直到 i = y 為止。
總和公式如下:
Total = (x + 0^2) + (x + 1^2) + (x + 2^2) + ... + (x + y^2)
考生必須實作指定的 calculateTerm 函數,該函數負責計算並回傳數列中的單一項。
請注意:
除了實作 calculateTerm 函數內容外,不得修改樣板程式碼的任何部分,包含 main 函數的邏輯、變數宣告及輸出入格式。
違反上述規定者,即使通過評測系統亦不予計分。
請確保回傳值的資料型態與樣板程式碼相容。 樣板程式碼如下:
import java.util.Scanner;
public class SeriesCalculator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int x = scanner.nextInt();
int y = scanner.nextInt();
int totalSum = 0;
// 使用 for loop 反覆呼叫自定義函數
for (int i = 0; i <= y; i++) {
totalSum += calculateTerm(x, i);
}
System.out.println(totalSum);
scanner.close();
}
public static ... calculateTerm(...) {
...
}
}
輸入值的格式
一行包含兩個整數 x 與 y,兩數之間以一個空白分隔。
數值範圍:0 <= x <= y <= 100。
輸出值的格式
輸出一個整數,代表計算後的總和結果。
各種需要注意的邊界條件
最小值邊界:當 x = 0 且 y = 0 時,數列僅包含一項。
最大值邊界:當 x = 100 且 y = 100 時,需考慮計算結果是否符合期待。
項目數量:當 i 從 0 增加到 y 時,總共會有 y + 1 個項目,並非 y 個。
x 與 y 相等:當 x = y 時,程式應正確執行循環。
測試資料(1)-輸入
2 2
測試資料(1)-輸出
11
測試資料(1)-解釋與特性
計算過程:(2 + 0^2) + (2 + 1^2) + (2 + 2^2) = 2 + 3 + 6 = 11。
特性:此為典型範例,用於確認基本邏輯正確性。
測試資料(2)-輸入
0 1
測試資料(2)-輸出
1
測試資料(2)-解釋與特性
計算過程:(0 + 0^2) + (0 + 1^2) = 1。
Comments