#include<stack>
#include <iostream>
#include<algorithm>
using namespace std;
void F(int num,int r,stack<int> &s){
while(num!=0){
int k;
k=num%r;
s.push(k);
num=num/r;
}
while(!s.empty()){
int a= s.top();
cout<<a;
s.pop();
}
}
int main(){
while(1){
int n,r;
stack<int> out;
cin>>n;
cin>>r;
F(n,r,out);
}
}
注释
n为输入数字为十进制
r为要转换成多少进制
原理就是:
举例子:十进制的10转八进制
10%8=2 进栈
10/8=1
1%8=1;进栈
1/8=0;
所以 10的八进制为12