Stop at 13: Report Max, Min, and Sum
Submit solution
Points:
10 (partial)
Time limit:
1.0s
Memory limit:
64M
Authors:
Problem type
Allowed languages
Java 19, Java 8
題目說明
輸入一個整數序列,當讀到數值等於13時,立刻計算並輸出自序列開始到「第一個13」為止(包含該13)的三個值:最大值、最小值、總和。
忽略後面的所有數字(或是輸出後直接結束程式)。
提示:考慮預備一些變數分別記錄「目前的最大值」「目前的最小值」與「目前的總和」。然後用迴圈逐漸讀入每一個整數,每次讀取之後更新這些數值。當讀到 13 時,執行指定工作。
輸入值的格式
以一行輸入多個整數,以空白(含換行)作為分隔。
總整數個數介於1到10之間。
序列中至少出現一個13。
每個整數落在[-1000, 1000],包含邊界。
可包含0、負數、重複值、極值-1000與1000。
輸出值的格式
題目指定的三個整數:最大值、最小值、總和,三者以單一空格分隔。
由於保證至少有一個13,必定會有一行輸出。
各種需要注意的邊界條件
- 13位於序列第一個位置:只以13本身計算。
- 13位於序列最後一個位置:需累積前面所有數字後再含13計算。
- 序列包含多個13:只在第一個13處輸出並結束。
- 可能同時出現極值-1000與1000:注意最大、最小與加總正負。
- 總和可能為負數或正數,也可能為0。
- 允許多個重複值與0。
- 輸入長度最短為1,最長為10;需在最長長度下仍能正確處理。
sample input1
13sample output1
13 13 13解釋:只有一個數字且最大值、最小值、總和皆為13。
sample input2
5 13 2 13sample output2
13 5 18解釋:只記5跟13。
Comments