JAVA 蓝桥杯 算法提高 大数加法
资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
输入两个正整数a,b,输出a+b的值。
输入格式
两行,第一行a,第二行b。a和b的长度均小于1000位。
输出格式
一行,a+b的值。
样例输入
4
2
样例输出
6
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sca=new Scanner(System.in);
String s1=sca.next();
String s2=sca.next();
int len1=s1.length();
int len2=s2.length();
int maxlen=len1>len2?len1:len2;
int[] ss =new int[maxlen+1];
while(s1.length()<maxlen) {
s1="0"+s1;
}
while(s2.length()<maxlen) {
s2="0"+s2;
}
int temp=0;
for(int i=maxlen-1;i>=0;i--) {
int a=Integer.valueOf(s1.charAt(i)-'0');
int b=Integer.valueOf(s2.charAt(i)-'0');
int c=a+b+temp;
if(c>=10) {
temp=c/10;
c=c%10;
}else {
temp=0;
}
ss[i]=c;
}
if(temp!=0) {
System.out.print(temp);
}
for(int i=0;i<maxlen;i++) {
System.out.print(ss[i]);
}
}
}