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 函數,該函數負責計算並回傳數列中的單一項。

請注意:

  1. 除了實作 calculateTerm 函數內容外,不得修改樣板程式碼的任何部分,包含 main 函數的邏輯、變數宣告及輸出入格式。

  2. 違反上述規定者,即使通過評測系統亦不予計分。

  3. 請確保回傳值的資料型態與樣板程式碼相容。 樣板程式碼如下:

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

There are no comments at the moment.