标签:大数加法
题目链接(POJ):http://poj.org/problem?id=1503
题目链接(HDOJ):http://acm.hdu.edu.cn/showproblem.php?pid=1047
| Time Limit: 1000MS | Memory Limit: 10000K | |
| Total Submissions: 30856 | Accepted: 12007 |
Description
Input
Output
Sample Input
123456789012345678901234567890 123456789012345678901234567890 123456789012345678901234567890 0
Sample Output
370370367037037036703703703670
Source
题意:求n个大数之和
题解; 大数加法模板题——POJ和HDU上格式出处的要求稍有不同——HDOJ上的描述好混乱。
AC代码(POJ)
#include<iostream>
#include<cstring>
#include<string>
#define maxn 300
using namespace std;
int numx[maxn],numy[maxn],n;
string str,tmp;
string Add(string x,string y){
string res="";
memset(numx,0,sizeof(numx));
memset(numy,0,sizeof(numy));
int lenx=x.size(),leny=y.size();
int maxlen=lenx>leny ? lenx:leny;
for(int i=0;i<lenx;i++)numx[lenx-i-1]=x[i]-'0';
for(int i=0;i<leny;i++)numy[leny-i-1]=y[i]-'0';
for(int i=0;i<=maxlen;i++){
numx[i]+=numy[i];
if(numx[i]>9){
numx[i+1]+=numx[i]/10;
numx[i]%=10;
}
}
int i=maxlen+2;
for(;i>0&&!numx[i];)i--;
for(;i>=0;i--)res+=numx[i]+'0';
return res;
}
int main()
{
string sum="0";
while(cin>>str&&str!="0")
sum=Add(sum,str);
cout<<sum<<endl;
return 0;
}
AC代码(HDU):
#include<iostream>
#include<cstring>
#include<string>
#define maxn 300
using namespace std;
int numx[maxn],numy[maxn],n;
string str,tmp;
string Add(string x,string y){
string res="";
memset(numx,0,sizeof(numx));
memset(numy,0,sizeof(numy));
int lenx=x.size(),leny=y.size();
int maxlen=lenx>leny ? lenx:leny;
for(int i=0;i<lenx;i++)numx[lenx-i-1]=x[i]-'0';
for(int i=0;i<leny;i++)numy[leny-i-1]=y[i]-'0';
for(int i=0;i<=maxlen;i++){
numx[i]+=numy[i];
if(numx[i]>9){
numx[i+1]+=numx[i]/10;
numx[i]%=10;
}
}
int i=maxlen+2;
for(;i>0&&!numx[i];)i--;
for(;i>=0;i--)res+=numx[i]+'0';
return res;
}
int main()
{
while(cin>>n){
while(n--){
string sum="0";
while(cin>>str&&str!="0"){
sum=Add(sum,str);
}
cout<<sum<<endl;
if(n)cout<<endl;
}
}
return 0;
}
【转载请注明出处】
作者:MummyDing
出处:http://blog.csdn.net/mummyding/article/details/43567439
POJ 1053 Integer Inquiry && HDOJ 1047 Integer Inquiry (大数加法)
标签:大数加法
原文地址:http://blog.csdn.net/mummyding/article/details/43567439