美文网首页
大数求和

大数求和

作者: simon_kin | 来源:发表于2021-02-18 14:18 被阅读0次

大数求和

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {

    public static void main(String[] args) throws Exception{

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str;
        while ( (str= br.readLine())!=null){

            // 先字符串反转
            StringBuilder str1 = new StringBuilder(str).reverse();
            StringBuilder str2 = new StringBuilder(br.readLine()).reverse();
            int length1 = str1.length();
            int length2 = str2.length();

            int max = length1>length2 ? length1:length2;
            // 字符串补齐
            if(length1>length2){
                for(int i=0; i<length1-length2; i++){
                    str2.append("0");
                }
            }else if(length1<length2){
                for(int i=0; i<length2-length1; i++){
                    str1.append("0");
                }
            }

            int[] arr = new int[max+1];
            for (int i=0;i<max;i++){
                int n1 = Integer.valueOf(str1.charAt(i)-'0');
                int n2 = Integer.valueOf(str2.charAt(i)-'0');
                if (arr[i] + n1 + n2 >=10){
                    arr[i] = arr[i] + n1 + n2 -10;
                    arr[i + 1] = 1;
                }else {
                    arr[i] = arr[i] + n1 + n2;
                }
            }
            StringBuilder sb = new StringBuilder();
            if (arr[max]!=0){
                sb.append(arr[max]);
            }
            for (int i=max-1;i>=0;i--){
                sb.append(arr[i]);
            }

            System.out.println(sb.toString());
        }

    }
}

大数乘法

相关文章

网友评论

      本文标题:大数求和

      本文链接:https://www.haomeiwen.com/subject/iragxltx.html