简单题,大数相加
C++:
#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
string sum(string s1,string s2)
{
if(s1.length()<s2.length())
{
string temp=s1;
s1=s2;
s2=temp;
}
int i,j;
for(i=s1.length()-1,j=s2.length()-1;i>=0;i--,j--)
{
s1[i]=char(s1[i]+(j>=0?s2[j]-'0':0));
if(s1[i]-'0'>=10)
{
s1[i]=char((s1[i]-'0')%10+'0');
if(i) s1[i-1]++;
else s1='1'+s1;
}
}
return s1;
}
int main(){
int t;
string a="",b="",c="",d="";
while(cin>>t){
while(t--){
cin>>a>>b>>c>>d;
string s1="",s2="";
s1=sum(a,b);
s2=sum(c,d);
string ans=sum(s1,s2);
cout<<ans<<endl;
}
}
return 0;
}
java:
import java.util.Scanner;
import java.math.BigInteger;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
for(int i=0;i<t;i++) {
BigInteger a = sc.nextBigInteger();
BigInteger b = sc.nextBigInteger();
BigInteger c = sc.nextBigInteger();
BigInteger d = sc.nextBigInteger();
BigInteger ans;
ans=a.add(b);
ans=ans.add(c.add(d));
System.out.println(ans);
}
sc.close();
}
}