CCF NOI1076. 進位制轉換【遞迴】【進位制轉換】
阿新 • • 發佈:2018-12-13
時間限制: 1000 ms 空間限制: 262144 KB 具體限制
題目描述
用遞迴演算法將一個十進位制數X(1<=X<=10^9)轉換成任意進位制數M(2<=M<=16)。
輸入
一行兩個正整數X和M。
輸出
輸出X的M進位制的表示。
樣例輸入
31 16
樣例輸出
1F
題記:
這題點明瞭要用遞迴,那就遞迴吧,但是效率相比於遞推低很多。
C++程式如下:
#include <iostream> #include <cstdio> #include <cmath> using namespace std; void convert(int n, int base) { char digit; if(n) { convert(n / base, base); digit = n % base; if(digit >= 10) digit = 'A' + digit - 10; else digit += '0'; cout << digit; } } int main(void) { int x, m; cin >> x >> m; convert(x, m); return 0; }