由于题目的数据范围为[0, 168],因此给定的整数x在十三进制下一定可以表示为(x=a*13^1+b*13^0)(因为(168<13^2)),于是只要想办法求出a跟b即可。
对上面的等式两边同时整除13,可以得到(lfloor x/13 floor =a);对上面的等式两边同时对13取模,可以得到(x%13=b)。这样就得到了a与b,接下来只需要输出即可。
char get(int x)
{
if(x<10) return '0'+x;
else return x-10+'A';
}
int main()
{
int a[3];
for(int i=0;i<3;i++) cin>>a[i];
cout<<'#';
for(int i=0;i<3;i++) cout<<get(a[i]/13)<<get(a[i]%13);
//system("pause");
return 0;
}