string solve(string s, string t) {
if(s.size() < t.size()) return solve(t, s);
reverse(s.begin(), s.end());
reverse(t.begin(), t.end());
string ans;
int d = 0;//进位制
for(int i=0; i < s.size(); i++)
{
d += s[i] - '0';//取得数字值
if(i < t.size()) d += t[i] - '0';//取得数字值
ans += d%10 +'0';//数值取余,变字符
d /= 10;//d是否进位
}
if(d) ans += d%10 + '0';//如果d有进位值,则加一位,并转化为字符
reverse(ans.begin(), ans.end());//反转整个字符串
return ans;
}
刷题——大数加法
最新推荐文章于 2024-11-07 23:24:07 发布