JAVA 蓝桥杯 算法提高 大数加法

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]);
		}
		
	}
	
}


发布了17 篇原创文章 · 获赞 0 · 访问量 376

猜你喜欢

转载自blog.csdn.net/qq_36551453/article/details/104469423