需要注意的点:输入的时候会有小写字母和大写字母,woc!!!!!
我要吐了!!!!
读题真的很重要!!!
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const double pi=acos(-1.0);
const double eps=1e-8;
const int maxn=100005;
char q[100];
char w[200];
int a;
ll f(int x)
{
ll ans=1;
for(int i=1; i<=x; i++)
{
ans=ans*a;
}
return ans;
}
int main()
{
int n,b;
while(~scanf("%d%s%d",&a,w,&b))
{
memset(q,0,sizeof(q));
int len=strlen(w);
ll cnt=0;
for(int i=len-1; i>=0; i--)
{
if(w[i]<='9'&&w[i]>='0')
{
cnt+=(int)(w[i]-'0')*f(len-i-1);
}
else if(w[i]<='F'&&w[i]>='A')
{
cnt+=(int)(w[i]-'A'+10)*f(len-i-1);
}
else if(w[i]<='f'&&w[i]>='a')
cnt+=(int)(w[i]-'a'+10)*f(len-i-1);
}
int num=0;
do
{
int x=cnt%b;
if(x<10)
{
q[num++]=(char)(x+'0');
}
else
{
q[num++]=(char)(x-10+'A');
}
cnt/=b;
}
while(cnt);
int i;
for( i=num-1; i>=0; i--)
{
printf("%c",q[i]);
}
printf("\n");
}
return 0;
}