c561: Bert 愛搗蛋
內容
Bert 是個叛逆的學生,每次派任給他的任務都會做的亂七八糟,舉例來說,要他幫社團添購一台新電腦,卻買來一台疑似二手機的 AXXS 電腦,還付了兩萬多塊。
現在 CTF 想要找社團中最會寫程式的人擔任下一屆的教學,所以將每個人的能力值丟給 Bert ,但他也知道 Bert 非常喜歡搗蛋,會將所有能力值倒轉後再找一個最大值給 CTF ,CTF 非常聰明的先將所以值倒轉後再給 Bert ! 這樣就能得到正確的答案。
現在給你 CTF 將要給 Bert 的所有人的能力值,請你找出社團下屆教學的能力值。
數字倒轉的定義如下:
123 -> 321
147 -> 741
( 保證不會有前導 0 的問題 )
輸入
第一行共兩個數字 n ,代表電研社共有 n 個人。 (1 <= n <= 100000)
接下來一行共 n 個數字 a [ i ] ( 1 <= a [ i ] <= 10000 ) ,代表 CTF 給 Bert 第 i 個人的能力值。
5
23 73 92 32 21
輸出
輸出一個數,代表社團中最會寫程式的人的真正能力值。
37
解題思路
本題重點在數值的反轉,反轉步驟如下:
- 設 a = 轉換前的值, b = 轉換後的值 (預設值為 0)
- 將 b * 10
- 取 a % 10,讓 b 加上得到的值
- 把 a / 10,讓個位數消失,十位變個位,百位變十位…
- 判斷 a 是否為 0 ,是則跳出,否則回到 1
有辦法得到反轉值後,剩下的就是基本的條件判斷了。
完整程式碼
AC (12ms, 124KB)
|