將一個十進位制資料轉換為M進位制
阿新 • • 發佈:2018-12-30
題目描述
【問題描述】
用遞迴演算法將一個十進位制數X轉換成任意進位制數M(M<=16)。
其中X最大為7位整數
【輸入樣例】
31 16 {將十進位制31轉化為十六進位制數}
【輸出樣例】
1F
輸入
輸入2個整數,在同一行裡面,每個整數之間用一個空格隔開
輸出
輸出一個數,為轉換之後的資料
樣例輸入
31 16
樣例輸出
1F
#include<iostream> using namespace std; int abc(int n,int m) { char a='A',b; if(n==0) return 0; else { abc(n/m,m); if(n%m>=10) { b=a+(n%m-10); cout<<b; } else cout<<n%m; } } int main() { int n,m; while(cin>>n>>m) { if(n==0) cout<<"0"<<endl; else { if(n<0) { n*=-1; cout<<"-"; } abc(n,m); cout<<endl; } } return 0; }