763.Hex Conversion

描述

Given a decimal number n and an integer k, Convert decimal number n to base-k.

1.0<=n<=2^31-12<=k<=16
2.Each letter over 9 is indicated in uppercase

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

样例

Example 1:
Given n = 5k = 2
return "101"

Example 2:
Given n = 30k = 16
return "1E"

入门难度:注意程序鲁棒性
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 to_string(0);
		string con;
		for (int i = 0; n>0; i++) {
			if (n%k<10)
				con += to_string(n%k);
			else {
				switch (n%k) {
				case 10:con += 'A'; break;
				case 11:con += 'B'; break;
				case 12:con += 'C'; break;
				case 13:con += 'D'; break;
				case 14:con += 'E'; break;
				case 15:con += 'F'; break;
				}
			}
			n = n / k;
		}
		reverse(con.begin(), con.end());
		return con;
	}
};

猜你喜欢

转载自blog.csdn.net/vestlee/article/details/80323548