A+B之后的值有可能超过int的范围,所以要用long long型
还要考虑当和为0是的情况,要输出0(题意为非负,那么就包括0)
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main()
{
int a,b,m;
long long s;
vector<int> vec;
while (cin>>m && m!=0)
{
cin>>a>>b;
s = a+b;
vec.clear();
if (s==0)cout<<0;
while (s)
{
vec.push_back(s%m);
s/=m;
}
int i;
for (i = vec.size()-1;i>=0;i--)
{
cout<<vec[i];
}
cout<<endl;
}
return 0;
}

本文介绍了一个使用C++实现的大数加法程序。该程序利用了long long类型来处理可能超出int范围的数值,并考虑了和为0的情况。通过循环读取输入并进行模运算,将结果存储在动态调整大小的整数数组中,最后逆序输出得到最终的大数结果。

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



