Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
贴个AC代码吧。。import java.io.*; import java.math.*; public class Main { static BigInteger num[]=new BigInteger[21],std[]=new BigInteger[26],mul=new BigInteger("26"); static void print(String str,String num) { System.out.printf("%-22s",str); for(int i=0;i<num.length();i++) { if((num.length()-i)%3==0&&i!=0) System.out.print(','); System.out.print(num.charAt(i)); } System.out.println(); } static String tonum(String str) { BigInteger ans=BigInteger.ONE; for(int i=1;i<str.length();i++) ans=ans.add(num[i]); for(int i=0;i<str.length();i++) ans=ans.add(num[i].multiply(std[str.charAt(str.length()-1-i)-'a'])); return ans.toString(); } static String tostr(String str) { BigInteger tmp=new BigInteger(str); tmp=tmp.add(BigInteger.ONE.negate()); int len=1; for(len=1;len<=20;len++) if(tmp.compareTo(num[len])>0) tmp=tmp.add(num[len].negate()); else break; char ans[]=new char[len]; for(int i=len-1;i>=0;i--) { ans[len-1-i]=(char)('a'+tmp.divide(num[i]).intValue()); tmp=tmp.mod(num[i]); } return new String(ans); } public static void main(String[] args) throws IOException { BufferedReader in=new BufferedReader(new InputStreamReader(System.in)); String str; num[0]=BigInteger.ONE; std[0]=BigInteger.ZERO; for(int i=1;i<26;i++) std[i]=std[i-1].add(BigInteger.ONE); for(int i=1;i<=20;i++) num[i]=num[i-1].multiply(mul); while(true) { str=in.readLine(); if(str.equals("*")) break; else if(str.charAt(0)<='9')//digit print(tostr(str),str); else//alphabetic print(str,tonum(str)); } } } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator