Java大数 字符串处理 HDU2100
2015-08-05 20:15
309 查看
import java.math.*; import java.util.*; public class Main { static String arr1; static String arr2;; static char[] ans=new char [200]; static char[] reans=new char [200]; static BigInteger c=new BigInteger("26"); public static void main(String[] args) { Scanner cin=new Scanner(System.in); while(cin.hasNext()) { arr1=cin.next(); arr2=cin.next(); int len1=arr1.length(); int len2=arr2.length(); BigInteger a=BigInteger.ZERO; BigInteger b=BigInteger.ZERO; for(int i=0;i<len1-1;i++) { char item=arr1.charAt(i); a=a.add(BigInteger.valueOf((item-'A'))); a=a.multiply(c); } char item1=arr1.charAt(len1-1); a=a.add(BigInteger.valueOf((item1-'A'))); for(int i=0;i<len2-1;i++) { char item=arr2.charAt(i); b=b.add(BigInteger.valueOf((item-'A'))); b=b.multiply(c); } char item2=arr2.charAt(len2-1); b=b.add(BigInteger.valueOf((item2-'A'))); a=a.add(b); int w=0; while(a.compareTo(BigInteger.ZERO)>0) { int x=a.remainder(c).intValue(); a=a.divide(c); char cc='A'; int tt=(int)cc; ans[w]=(char)(tt+x); w++; } ans[w]='\0'; for(int i=0;i<w;i++) { reans[i]=ans[w-1-i]; } reans[w]='\0'; for(int i=0;i<w;i++) { System.out.print(reans[i]); } System.out.println(); } } }
View Code
char item=arr1.charAt(i); //获取String中的特定位置
a.remainder(b); //a%b
相关文章推荐
- Java程序设计之打印100~999的水仙花数
- Struts2知多少(1) Struts2 MVC架构
- Deep Analysis Java Memory Model
- Java多线程通信-利用传统的线程通信wait(),notify()方法实现“生产者消费者模式”
- this对象的引用
- Final关键字
- 【JAVA】模拟登陆教务系统
- Eclipse下使用maven创建多模块项目
- JDK安装
- Java中的反射和注解
- poj 2305 Basic remains java
- poj 2305 Basic remains java
- 策略模式-Java实现
- 精通Hibernate——Java对象在JVM中的生命周期
- myeclipse 10 的破解方法
- java二进制文件复制
- 《深入理解Java虚拟机》读书笔记——Java内存区域与内存溢出异常
- Java NIO原理图文分析及代码实现
- An unexpected error has been detected by Java Runtime Environment
- Java成员变量初始化