题目
https://nanti.jisuanke.com/t/42389
题意
进制转换
思路
java大数
代码
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner cin = new Scanner(System.in);
String s = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
BigInteger[] num = new BigInteger[200];
for(int i = 0;i <= 61;i++)
{
int x = s.charAt(i);
String tt = ""+i;
num[x] = new BigInteger(tt.toString());
}
BigInteger q,w;
String qi;
q = cin.nextBigInteger();
w = cin.nextBigInteger();
qi = cin.next();
BigInteger qw = new BigInteger("0");
BigInteger ling = new BigInteger("0");
int len = qi.length();
for(int i = 0;i <= len-1;i++)
{
char x = qi.charAt(i);
qw = qw.multiply(q);
int zz = x;
qw = qw.add(num[zz]);
}
char[] ans = new char[2000];
int p = 0;
// System.out.println(qw);
while(true)
{
// System.out.println(qw);
BigInteger yu;
yu = qw.mod(w);
qw = qw.divide(w);
int yuu;
String str=yu.toString();
yuu=Integer.parseInt(str);
// System.out.println(qw + " "+yu);
ans[p] = s.charAt(yuu);
p++;
if(qw.compareTo(ling) == 0) break;
}
for(int i = p-1;i >= 0;i--)
{
System.out.print(ans[i]);
}
System.out.print("\n");
}
}