zoukankan      html  css  js  c++  java
  • HJ5 进制转换

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    ➤微信公众号:山青咏芝
    ➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/ )
    ➤GitHub地址:https://github.com/strengthen/LeetCode
    ➤原文地址: https://www.cnblogs.com/strengthen/p/15553203.html
    ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
    ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    热烈欢迎,请直接点击!!!

    进入博主App Store主页,下载使用各个作品!!!

    注:博主将坚持每月上线一个新app!!!

    描述

    写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。
     
    数据范围:保证结果在 
     
    注意本题有多组输入

    输入描述:

    输入一个十六进制的数值字符串。注意:一个用例会同时有多组输入数据,请参考帖子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)
    }
  • 相关阅读:
    numpy 矩阵和数组
    python map()
    python matplotlib plot
    python mean()
    预测数值型数据:回归
    散点图
    非均衡分类问题
    AdaBoost元算法
    2.1 n元排列
    1.3 数域
  • 原文地址:https://www.cnblogs.com/strengthen/p/15553203.html
Copyright © 2011-2022 走看看