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

    原题网址:https://www.lintcode.com/problem/hex-conversion/description

    描述

    给定一个十进制数 n 和 一个整数 k, 将 十进制数 n 转换成 k进制数.

    1.0<=n<=2^31-12<=k<=16
    2.每个大于 9 的字符都用大写字母表示

    您在真实的面试中是否遇到过这个题?  

    样例

    样例 1:
    给定 n = 5k = 2
    return "101"

    样例 2:
    给定 n = 30k = 16
    return "1E"

    思路:用一个具有16个元素的一维char数组保存k进制数的字符,用每次n对k取余得到的结果作为下标访问一维数组,即可得到该数位上的相应字符。
     
    AC代码:
    class Solution {
    public:
        /**
         * @param n: a decimal number
         * @param k: a Integer represent base-k
         * @return: a base-k number
         */
        string hexConversion(int n, int k) {
            // write your code here
            if (n==0)
        {
            return "0";
        }
        
        int ch[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
        string result="";
        int mod=0;
        while(n!=0)
        {
            mod=n%k;
            n=n/k;
            result.push_back(ch[mod]);
        }
        reverse(result.begin(),result.end());
        return result;
        }
    };
     
     
  • 相关阅读:
    1015词法分析
    0909作业
    华为云专家来公司
    SVN与Git的优点差异比较
    eclipse快捷键大全
    Servlet,HttpServletRequest 和 HttpServletResponse
    XML
    JDBC
    XMIND快捷键
    java数据
  • 原文地址:https://www.cnblogs.com/Tang-tangt/p/9253790.html
Copyright © 2011-2022 走看看