題目連結:
給定一正整數 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) 之值。
因為 a + b = n ,因此 S(a) + S(b) 要最大的話,則 a = 99……9 , b = n - a 。即是以盡可能多的 9 去逼近 n ,才可使 S(a) + S(b) 最大。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。