题目地址:http://codevs.cn/problem/1042/
分析:
进制转换
代码:
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
using namespace std;
int n,wei[100];
int r,num,sang;
int main()
{
while(scanf("%d %d",&n,&r)!=EOF)
{
num=0;
printf("%d=",n);
for(int i=1;;i++)
{
if(n==0)
break;
sang=n/r;
if(sang>=0)
for(;;sang++)
if(sang*r<=n)
break;
wei[i]=n-sang*r;
num++;
n=sang;
}
for(int i=num;i>=1;i--)
{
if(wei[i]<10)
printf("%d",wei[i]);
if(wei[i]==10)
printf("A");
if(wei[i]==11)
printf("B");
if(wei[i]==12)
printf("C");
if(wei[i]==13)
printf("D");
if(wei[i]==14)
printf("E");
if(wei[i]==15)
printf("F");
if(wei[i]==16)
printf("G");
if(wei[i]==17)
printf("H");
if(wei[i]==18)
printf("I");
if(wei[i]==19)
printf("J");
}
printf("(base%d)\n",r);
}
return 0;
}