大数相加
2014-12-31 00:00
375 查看
大数相加
public class VeryBigNumAdd { public static void main(String[] args) { VeryBigNumAdd vbn = new VeryBigNumAdd(); String a = "123453243455535634535252345234677576252241234123523453664563634"; String b = "123453243455535634535252345234677576252241234123523453664563634"; String result = vbn.doAdd(a, b); System.out.println("result:" + result); } String doAdd(String a, String b) { String str = ""; int lenA = a.length(); int lenB = b.length(); int maxLen = (lenA > lenB) ? lenA : lenB; int minLen = (lenA < lenB) ? lenA : lenB; String strTmp = ""; for (int i = maxLen - minLen; i > 0; i--) { strTmp += "0"; } // 把长度调整到相同 if (maxLen == lenA) { b = strTmp + b; } else a = strTmp + a; int JW = 0;// 进位 for (int i = maxLen - 1; i >= 0; i--) { int tempA = Integer.parseInt(String.valueOf(a.charAt(i))); int tempB = Integer.parseInt(String.valueOf(b.charAt(i))); int temp; if (tempA + tempB + JW >= 10 && i != 0) { temp = tempA + tempB + JW - 10; JW = 1; } else { temp = tempA + tempB + JW; JW = 0; } str = String.valueOf(temp) + str; } return str; } } 运行程序: C:\bat>java VeryBigNumAdd result:246906486911071269070504690469355152504482468247046907329127268
相关文章推荐
- 大数相加
- hdu1002(大数相加)
- 两个大数相加比较符合自然运算的算法
- 两个大数相加
- *寒假水96——A + B Problem II 【大数相加】
- C语言 大数相加与大数相减
- 金山的笔试题--代码编写部分--大数相加
- 大数问题:用字符串解决大数相加和相乘
- Hdu 大菲波数 简单大数相加
- ZOJ 1292 大数相加
- 大数相加
- 大数相加
- POJ 1503 Integer Inquiry(大数相加)
- 大数相加a+b
- POJ 1503 大数相加(持续相加)
- ACM--大数相加--HDOJ 1002--A + B Problem II
- 杭电ACM1002--大数相加
- HDU-1047 Integer Inquiry 大数相加
- hdu 1002 大数相加
- 两个大数(包括负数)相加