- 题目描述:
-
实现一个加法器,使其能够输出a+b的值。
- 输入:
-
输入包括两个数a和b,其中a和b的位数不超过1000位。
- 输出:
-
可能有多组测试数据,对于每组数据,
输出a+b的值。
- 样例输入:
-
2 6 10000000000000000000 10000000000000000000000000000000
- 样例输出:
-
8 10000000000010000000000000000000
1 import java.util.Scanner; 2 3 public class Main{ 4 public static void main(String[]args){ 5 Scanner in=new Scanner(System.in); 6 while(in.hasNext()){ 7 String line=in.nextLine(); 8 String[] a=line.split(" "); 9 char[]x=a[0].toCharArray(); 10 char[]y=a[1].toCharArray(); 11 int len1=x.length; 12 int len2=y.length; 13 int len=len1>len2?len1:len2; 14 char[]result=new char[len+1]; 15 int j=0; 16 len=0; 17 while(len1>0||len2>0){ 18 char re1=‘ ‘,re2=‘ ‘; 19 if(len1<=0&&len2>0){re1=‘0‘;re2=y[--len2];} 20 else if(len1>0&&len2<=0){re1=x[--len1];re2=‘0‘;} 21 else if(len1>0&&len2>0){re1=x[--len1];re2=y[--len2];} 22 int re=re1+re2-‘0‘-‘0‘+j; 23 if(re>=10){ 24 result[len++]=(char) (re-10+‘0‘); 25 j=1; 26 } 27 else{ 28 result[len++]=(char) (re+‘0‘); 29 j=0; 30 } 31 } 32 if(j==1){ 33 result[len++]=‘1‘; 34 } 35 36 while(len>0){ 37 System.out.print(result[--len]); 38 } 39 System.out.println(); 40 } 41 } 42 } 43 /************************************************************** 44 Problem: 1198 45 User: 0000H 46 Language: Java 47 Result: Accepted 48 Time:2190 ms 49 Memory:94364 kb 50 ****************************************************************/
时间: 2024-11-12 09:42:11