大数相加
博客专区 > ahucsxl 的博客 > 博客详情
大数相加
ahucsxl 发表于2年前
大数相加
  • 发表于 2年前
  • 阅读 71
  • 收藏 6
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

public class BigNumAdd {
 public static void main(String[] args) {
  String num1 = "92345";
  String num2 = "92345";
  String sum = bigNumberAdd(num1, num2);
  System.out.print(sum);
 }
 public static String bigNumberAdd(String f, String s) {
  char[] a = new StringBuffer(f).reverse().toString().toCharArray();
  char[] b = new StringBuffer(s).reverse().toString().toCharArray();
  int len = a.length > b.length ? a.length : b.length;
  int[] sum = new int[len + 1];
  int inc = 0;
  for (int i = 0; i < len; i++) {
   int inta = i < a.length ? a[i] - '0' : 0;
   int intb = i < b.length ? b[i] - '0' : 0;
   inc = inc + inta + intb;
   sum[i] = inc % 10;
   inc /= 10;
  }
  if (inc == 1)
   sum[len] = 1;
  boolean flag = true;
  StringBuffer sb = new StringBuffer();
  for (int i = len; i >= 0; i--) {
   if (sum[i] == 0 && flag)
    continue;
   else
    flag = false;
   sb.append(sum[i]);
  }
  return sb.toString();
 }
}

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 0
博文 56
码字总数 39098
×
ahucsxl
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: