超长正整数相加

超长正整数相加

http://www.nowcoder.com/questionTerminal/5821836e0ec140c1aa29510fd05f45fc

import java.util.*;

public class Main {

    public Main() {
    }

    public String addLongInteger(String addend, String augend) {
        StringBuilder res = new StringBuilder();
        // 进位信息
        int carry = 0;
        int i = addend.length() - 1, j = augend.length() - 1;
        while (i >= 0 || j >= 0 || carry != 0) {
            int sum = carry;
            if (i >= 0) {
                sum += addend.charAt(i--) - '0';
            }
            if (j >= 0) {
                sum += augend.charAt(j--) - '0';
            }
            res.append(sum % 10);
            carry = sum / 10;
        }
        return res.reverse().toString();
    }

    public static void main(String[] args) {
        Main solution = new Main();
        Scanner in = new Scanner(System.in);
        while (in.hasNext()) {
            String addend = in.next();
            String augend = in.next();
            String res = solution.addLongInteger(addend, augend);
            System.out.println(res);
        }
    } 
}
全部评论

相关推荐

评论
4
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务