★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公眾號:山青詠芝
➤博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/ )
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址: https://www.cnblogs.com/strengthen/p/15553203.html
➤如果鏈接不是山青詠芝的博客園地址,則可能是爬取作者的文章。
➤原文已修改更新!強烈建議點擊原文地址閱讀!支持作者!支持原創!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
描述
寫出一個程序,接受一個十六進制的數,輸出該數值的十進制表示。
數據范圍:保證結果在
注意本題有多組輸入
輸入描述:
輸入一個十六進制的數值字符串。注意:一個用例會同時有多組輸入數據,請參考帖子https://www.nowcoder.com/discuss/276處理多組輸入的問題。
輸出描述:
輸出該數值的十進制字符串。不同組的測試用例用\n隔開。
示例1
輸入:
0xA 0xAA
輸出:
10 170
import Foundation while let line = readLine() { let str = line.uppercased().suffix(line.count - 2) var sum = 0 for i in str.utf8 { sum = sum * 16 + Int(i) - 48 // 0-9 從48開始 if i >= 65 { // A-Z 從65開始,但有初始值10,所以應該是減去55 sum -= 7 } } print(sum) }
while var input = readLine() { if input.lowercased().hasPrefix("0x") { input = String(input[String.Index(utf16Offset: 2, in: input) ..< input.endIndex]) } let i = Int(input,radix: 16) print(String(i!, radix: 10)) }
while let line = readLine() { let str = line.uppercased().suffix(line.count - 2) var sum = 0 for i in str.utf8 { sum = sum * 16 + Int(i) - 48 if i >= 65 { sum -= 7 } } print(sum) }
