题目描述
给定一个十进制整数 n 和一个小整数 x。将整数 n 转为 x 进制。对于超过十进制的数码,用 A
,B
... 表示.
输入格式
第一行一个整数 n;
第二行一个整数 x。
输出格式
输出仅包含一个整数,表示答案.
输入输出样例
输入 #1
1000 2
输出 #1
1111101000
说明/提示
【数据规模和约定】
保证 n 不超过 1000000000,x 不超过 36.
AC代码
#include <bits/stdc++.h>
using namespace std;
int x,m,s;
int a[10000005]; //数组开大一点
void dfs(int num,int step)
{
if(num<m)
{
a[step]=num;
s=step;
return;
}
int i=num%m;
a[step]=i;
int j=num/m;
dfs(j,step+1);
}
int main()
{
cin>>x>>m;
dfs(x,1);
for(int i=s;i>=1;i--)
{
if(a[i]<=9)
{
cout<<char(a[i]+48);
}
else
{
cout<<char(a[i]+55);
}
}
return 0;
}
测试点信息