您的位置:首页 > 其它

poj 1220 进制转换

2016-06-10 18:22 330 查看
熟悉了集成开发环境eclipse,快捷键的熟悉,设置代码提示等
学习了java的大整数类和Scanner扫描仪,还有java的String类(可以去查查它的API)
Java BigInteger(大数,ACM比赛专用):http://www.cnblogs.com/tsw123/p/4378697.html
关于java的大整数类这个网址介绍得很好(还有Scanner)

Java String类:http://www.runoob.com/java/java-string.html
这个也不错
import java.math.BigInteger;
import java.util.Scanner;

public class Main {

public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
String cst="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
int n=cin.nextInt();
while((n--)>0)
{
String s="";
int a=cin.nextInt();
int b=cin.nextInt();
String str=cin.next();
;
int len=str.length();
BigInteger ans=BigInteger.ONE,sum=BigInteger.ZERO;
for(int i=len-1;i>=0;i--)
{
sum=sum.add(ans.multiply(BigInteger.valueOf(cst.indexOf(str.charAt(i)))).multiply(BigInteger.valueOf(a).pow(len-1-i)));
}
;
BigInteger L=BigInteger.valueOf(b);
while(sum!=BigInteger.ZERO) {
s = cst.charAt(sum.remainder(L).intValue())+s;
sum=sum.divide(L);
}
;
System.out.println(a+" "+str);
System.out.print(b+" ");
if(s=="") s="0";
System.out.println(s);
System.out.println();
}
}
}
java大整数类BigInteger
有可能是模拟惯了,导致现在很多东西都喜欢自己手算,结果自己手算还不行,以后还是要多想想让代码(或者说计算机)自己算啊
Result: Time Limit Exceeded

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: