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. 以一行輸入多個整數,以空白(含換行)作為分隔。

  2. 總整數個數介於1到10之間。

  3. 序列中至少出現一個13。

  4. 每個整數落在[-1000, 1000],包含邊界。

  5. 可包含0、負數、重複值、極值-1000與1000。

輸出值的格式

  1. 題目指定的三個整數:最大值、最小值、總和,三者以單一空格分隔。

  2. 由於保證至少有一個13,必定會有一行輸出。

各種需要注意的邊界條件

  • 13位於序列第一個位置:只以13本身計算。
  • 13位於序列最後一個位置:需累積前面所有數字後再含13計算。
  • 序列包含多個13:只在第一個13處輸出並結束。
  • 可能同時出現極值-1000與1000:注意最大、最小與加總正負。
  • 總和可能為負數或正數,也可能為0。
  • 允許多個重複值與0。
  • 輸入長度最短為1,最長為10;需在最長長度下仍能正確處理。

sample input1

13

sample output1

13 13 13

解釋:只有一個數字且最大值、最小值、總和皆為13。

sample input2

5 13 2 13

sample output2

13 5 18

解釋:只記5跟13。


Comments

There are no comments at the moment.