
最近开始学算法了!(^ _ ^)
好难好难,感觉没有头绪哇
感觉网上的高精度加法很多都很麻烦,lz写了一个可能 还算简单的,给大家参考(自留)
#include <bits/stdc++.h>
#define len 502
using namespace std;
int main() {
int x, y, la,lb,i,t;
short n[len] = { 0 };
string a, b;
cin >> a >> b;
la = a.size();
lb = b.size();
t = max(la, lb);
if (la > lb)
{
for (i = 1;i <= la;i++)
{
m[i] = a[la - i] - 48;
}
for (i = 1;i <= lb;i++)
{
m[i] +=b[lb - i] - 48;
}
}
else
{
for(i=1; i<=lb; i++)
{
m[i] = b[lb - i] - 48;
}
for (i = 1;i <= la;i++)
{
m[i] += a[la - i] - 48;
}
}
for (i = 1;i <= t;i++)
{
if (m[i] >= 10)
{
m[i] -= 10;
++m[i + 1];
}
}
if (m[t + 1] > 0)//最高位特判
{
++t;
}
for (i = t;i >= 1;i--)
{
cout << m[i];
}
return 0;
}
1434

被折叠的 条评论
为什么被折叠?



