java大数相加
package 大数相加;
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
String a = in.nextLine();
String b = in.nextLine();
String str = new BigInteger(a).add(new BigInteger(b)).toString();
System.out.println(str);
}
}
C++正整数大数相加
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
char a[1010],b[1010];
int c[1010];
int main(){
int t;
scanf("%d",&t);
for(int k = 1;k <= t;k++){
scanf("%s%s",a,b);
int la = strlen(a),lb = strlen(b);
int l = max(la,lb);
for(int i = l-1;i >= 0;i --){
la--;lb--;
if(la < 0)c[i] = b[lb]-'0';
else if(lb < 0)c[i] = a[la]-'0';
else c[i] = (a[la]-'0')+(b[lb]-'0');
}
for(int i = l-1;i > 0;i --){
if(c[i]>9){
c[i-1] ++;
c[i] = c[i]-10;
}
}
printf("Case %d:\n",k);
printf("%s + %s = ",a,b);
for(int i = 0;i < l;i ++)
printf("%d",c[i]);
if(k!=t){
printf("\n");
printf("\n");
}else{
printf("\n");
}
}
return 0;
}