题解 | #高精度整数加法#

高精度整数加法

https://www.nowcoder.com/practice/49e772ab08994a96980f9618892e55b6

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        StringBuilder a=new StringBuilder (in.nextLine());
        StringBuilder b=new StringBuilder (in.nextLine());
int i=0,carry=0;
a.reverse();
b.reverse();
StringBuilder ans=new StringBuilder();
while(i<a.length()||i<b.length()||carry!=0)
{
    int num1=i>=a.length()?0:a.charAt(i)-'0';
    int num2=i>=b.length()?0:b.charAt(i)-'0';
int cur=(num1+num2+carry)%10;
carry=(num1+num2+carry)/10;
ans.append((char)(cur+'0'));
i++;
}
if(carry!=0) ans.append(carry);
ans.reverse();
System.out.println(ans.toString());
    }
}

两个字符串相加,先逆序然后再相加即可

全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务