題目描述ios
給定一個十進制數M,以及須要轉換的進制數N。將十進制數M轉化爲N進制數ide
輸入描述:測試
輸入爲一行,M(32位整數)、N(2 ≤ N ≤ 16),以空格隔開。spa
輸出描述:code
爲每一個測試實例輸出轉換後的數,每一個輸出佔一行。若是N大於9,則對應的數字規則參考16進制(好比,10用A表示,等等)
示例1ci輸入: 7 2
輸出: 111字符串
題目分析:字符串處理
代碼以下:string
#include <iostream> #include <string> #include <algorithm> using namespace std; int main() { string table = "0123456789ABCDEF", res; int m, n; cin >> m >> n; //標記負數,將負數轉換爲正數統一處理,最後根據標記輸出負數時加上‘-’號 bool flag = false; if(m < 0) { flag = true; m = 0 - m; } while(m) { res += table[m%n]; m /= n; } if(flag) res += '-'; reverse(res.begin(), res.end()); cout << res << endl; return 0; }