#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <cmath>
using namespace std;
string myadd(string a,string b)
{
string res="";
reverse(a.begin(),a.end()); //第一步,逆序
reverse(b.begin(),b.end());
int m=a.size(),n=b.size(); //获取字符串长度
int mmax=max(m,n);
if(m>n)
for(int i=0;i<m-n;i++) b+='0'; //第二步,给短的字符串补零
else
for(int i=0;i<n-m;i++) a+='0';
int i=0;
int tmp=0;
while(i<mmax)
{
tmp=tmp+a[i]-'0'+b[i]-'0'; //模拟手算 5+7=12
res+=tmp%10+'0';
tmp/=10; //
i++;
}
if(tmp>0)
res+="1";
//答案翻转
reverse(res.begin(),res.end());
return res;
}
C++:大数相加模板
最新推荐文章于 2024-05-20 23:51:15 发布