切換
舊版
前往
大廳
主題

ZeroJudge - c783: PB. 最大數碼和 解題心得

Not In My Back Yard | 2019-07-28 22:55:21 | 巴幣 0 | 人氣 126

題目連結:


題目大意:
給定一正整數 t (t ≦ 500)。接下來 t 列,代表總共 t 筆的測試資料,每列給定一正整數 n (n < 10 ^ 12 )。

定義一函數 S(n) 為 n 在十進位數之下,各位數之和。例如 S(123) = 1 + 2 + 3 = 6 。現在,請找到一組(a, b)使得 a + b = n 且 S(a) + S(b) 是所有可能當中最大的。並輸出該 S(a) + S(b) 之值。



範例輸入:
2
35
40


範例輸出:
17
13


解題思維:
因為 a + b = n ,因此 S(a) + S(b) 要最大的話,則 a = 99……9 , b = n - a 。即是以盡可能多的 9 去逼近 n ,才可使 S(a) + S(b) 最大。

此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作