0
已解决
聪雨墨
高级守护
高级守护
题目描述 Description
相信a+b问题对大家来说,应该不陌生了吧。给出两个整数a和b,求a和b的和。
输入描述 Input Description
第一行一个整数N(N<100),表示求和的数字对数;
接下来N行,每行两个整数a和b。
【数据范围】
对于70%的数据,0<=a,b<=1000;
对于100%的数据,0<=a,b<=10^100。
输出描述 Output Description
N行,每行一个数表示两个数a,b的和。
样例输入 Sample Input
1 3 5
样例输出 Sample Output
8
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b,c;
cin>>a>>b>>c;
cout<<b+c;
}
0
已采纳
陈正朔
初级光能
初级光能
n<=10^100,你还不用高精?
这会爆0的!
高精参考程序
string Plus(string x,string y){//字符串x+字符串y
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));//数组自己定义
a[0]=x.length(),b[0]=y.length();
c[0]=max(a[0],b[0]);
for(int i=1;i<=a[0];i++){
a[i]=x[a[0]-i]-'0';//放进数组
}
for(int i=1;i<=b[0];i++){
b[i]=y[b[0]-i]-'0';
}
int jw=0;
for(int i=1;i<=c[0];i++){
c[i]=a[i]+b[i]+jw;//加
jw=c[i]/10;//进位
c[i]%=10;
}
if(jw!=0){
c[0]++;
c[c[0]]=jw;
}
string ans="";
for(int i=c[0];i>=1;i--){
ans+=char(c[i]+'0');//储存
}
return ans;
}
0
0
0