Just go ahead,never look back.
#include<iostream>
#include<string>
#include<algorithm>
#include<vector>
#include<cstdlib>
using namespace std;
vector<int> A;
vector<int> B;
vector<int> add(vector<int> &A,vector<int> &B)
{
if(A.size()<B.size())
return add(B,A);
vector<int> ans;
int t = 0,i;
for(i =0;i<A.size();++i)
{
t+=A[i];
if(i<B.size())
t+=B[i];
ans.push_back(t%10);
t/=10;
}
while(i<A.size())
{
t += A[i];
ans.push_back(t%10);
t /=10;
}
if(t)
ans.push_back(t);
return ans;
}
int main()
{
string a,b;
cin>>a>>b;
for(int i = a.size()-1;i>=0;--i)
A.push_back(a[i]-'0');
for(int i = b.size()-1;i>=0;--i)
B.push_back(b[i]-'0');
auto ans = add(A,B);
for(int i = ans.size()-1;i>=0;--i)
cout<<ans[i];
cout<<endl;
A.clear();
B.clear();
system("pause");
return 0;
}
#include<iostream>
#include<string>
#include<algorithm>
#include<vector>
#include<cstdlib>
using namespace std;
vector<int> A;
vector<int> B;
bool cmp(vector<int> &A,vector<int> &B){//判断二者数字的大小
if(A.size() !=B.size()) return A.size()>B.size();
for(int i=A.size()-1;i>=0;i--){
if(A[i]!=B[i])
return A[i]>B[i];
}
return true;
}
vector<int> Minus(vector<int> &A,vector<int> &B)
{
vector<int> ans;
int t = 0,i;
for(i =0;i<A.size();++i)
{
t = A[i]-t;
if(i<B.size())
t-=B[i];
ans.push_back((t+10)%10);
if(t<0)
t=1;
else
t = 0;
}
// while(i<A.size())
// {
// t += A[i];
// ans.push_back(t%10);
// t /=10;
// }
while(ans.size()>1&&ans.back()==0) ans.pop_back();
return ans;
}
int main()
{
string a,b;
cin>>a>>b;
for(int i = a.size()-1;i>=0;--i)
A.push_back(a[i]-'0');
for(int i = b.size()-1;i>=0;--i)
B.push_back(b[i]-'0');
vector<int> ans;
if(cmp(A,B))
ans = Minus(A,B);
else
{
cout<<'-';
ans = Minus(B,A);
}
for(int i = ans.size()-1;i>=0;--i)
cout<<ans[i];
cout<<endl;
A.clear();
B.clear();
system("pause");
return 0;
}
#include<iostream>
#include<string>
#include<algorithm>
#include<vector>
#include<cstdlib>
#include<cstring>
using namespace std;
int A[300],B[300];
int ans[300];
int main()
{
memset(A,0,sizeof(A));
memset(B,0,sizeof(B));
memset(ans,0,sizeof(ans));
string a,b;
cin>>a>>b;
int len1 = a.length(),len2 = b.length();
for(int i =0;i<len1;++i)
A[len1-i] = a[i]-'0';
for(int i = 0;i<len2;++i)
B[len2-i] = b[i]-'0';
for(int i =1;i<=len2;++i)
{
int x = 0;
for(int j =1;j<=len1;++j)
{
ans[i+j-1] = ans[i+j-1]+A[j]*B[i]+x;
x = ans[i+j-1]/10;
ans[i+j-1]%=10;
}
ans[i+len1] = x;
}
int len = len1+len2;
while((ans[len]==0)&&(len>1))
{
len--;
}
for(int i = len;i>0;--i)
cout<<ans[i];
cout<<endl;
system("pause");
return 0;
}