这是我编的:
大家可以忽略
或者在这上面完善一下哦
#include<cstdio>
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int k,n,l,x;//x用于存储n的实际的十进制和
int n1[100],a[100];
int j,i,s=0;
cin>>k>>n>>l;
if(n>=1000000||k>16||l>16){return 0;}
int o=n;
int oo=n;
while(cin>>k>>n>>l)
{
while(n){n=n/10;s++;}
while(o)
{
for(i=0;i<s;i++)
{
n1[i]=o%10;
o=o/10;
}
}
if(s==1)
{
x=oo*pow(k,1);
}
if(s==2)
{
x=n1[0]*pow(k,0)+n1[1]*pow(k,1);
}
if(s==3)
{
x=n1[0]*pow(k,0)+n1[1]*pow(k,1)+n1[2]*pow(k,2);
}
if(s==4)
{
x=n1[0]*pow(k,0)+n1[1]*pow(k,1)+n1[2]*pow(k,2)+n1[3]*pow(k,3);
}
if(s==5)
{
x=n1[0]*pow(k,0)+n1[1]*pow(k,1)+n1[2]*pow(k,2)+n1[3]*pow(k,3)+n1[4]*pow(k,4);
}
if(s==6)
{
x=n1[0]*pow(k,0)+n1[1]*pow(k,1)+n1[2]*pow(k,2)+n1[3]*pow(k,3)+n1[4]*pow(k,4)+n1[5]*pow(k,5);
}
int oooo=x;
j=0;
while(oooo)
{
a[j]=oooo%l;
oooo/=l;
j++;
}
for(oooo=j-1;oooo>=0;oooo--)
if(a[oooo]>=10)cout<<char(a[oooo]+55);
else
cout<<a[oooo];
cout<<endl;
}
return 0;
}