#include<iostream>
#include<string>
using namespace std;
int pow(int x,int y){ //求x的y次方
int i,s=1;
if(y==0){
return 1;
}
for(i=0;i<y;i++){
s*=x;
}
return s;
}
int main(){
int t=1; int n,r;string ans;
while(cin>>n>>r){
int i=0;ans="";
if(n<0)
{
t=0;n=-n;}
while(n>pow(r,i)){//
i++;
}
i=i-1;
int s;
while(i>=0){
s=n/pow(r,i);
n=n%pow(r,i);
if(s>=10){
if(s==10)
ans+='A';
if(s==11)
ans+='B';
if(s==12)
ans+='C';
if(s==13)
ans+='D';
if(s==14)
ans+='E';
if(s==15)
ans+='F';
}
else
ans+=('0'+s);i--;
}if(t==0)
cout<<"-"<<ans<<endl;
else
cout<<ans<<endl;
t=1;
}
return 0;
}hdu 2031 damn进制!
最新推荐文章于 2024-07-24 09:30:00 发布
本文介绍了一个使用C++编写的程序,该程序能够将十进制数转换为用户指定的任意进制数(2到16)。程序首先通过循环计算出目标进制数的每一位,并使用ASCII字符来表示大于10的数值(如A、B、C等)。最后,程序输出转换后的字符串结果。
502

被折叠的 条评论
为什么被折叠?



