文章
11
粉丝
69
获赞
1
访问
7.0k
#include <stdio.h>
#include <string.h>
int main()
{
int m, n;
char x[1000];
char a[1000]; int j = 0;
scanf("%d %d", &m, &n);
scanf("%s", &x);
long long int ans = 0;//用于存储十进制中间结果。
//101 5
for (int i = 0; i < strlen(x); i++)
{
ans *= m;
if (x[i] >= '0' && x[i] <= '9')ans += x[i] - '0';
if (x[i] >= 'a' && x[i] <= 'z') ans += x[i] - 'a' + 10;//输入要求大写 可忽略
if (x[i] >= 'A' && x[i] <= 'Z') ans += x[i] - 'A' + 10;
}
//printf("%d\n", ans);
while (ans > 0)//十进制转换成m进制。
{
int w = (ans % n);
if (w< 10)a[j++] = w + '0';
else a[j++] = w + 'a' - 10; //输出要求小写
ans /= n;
}
for (int k = j - 1; k >= 0; k--)
{
printf("%c", a[k]);
}
return 0;
}
登录后发布评论
暂无评论,来抢沙发