高精度-高精度(信息学奥赛1169)
#include <iostream> #include <cmath> #include <vector> using namespace std; int main(){ string a,b; cin>>a>>b; vector<int> x,y,sum; for(int i = a.size()-1;i>=0;i--){ x.push_back(a[i]-'0'); } for(int i = b.size()-1;i>=0;i--){ y.push_back(b[i]-'0'); } int j = 0; for(int i = 0;i<max(x.size(),y.size());i++){ if(i>=y.size()){ y.push_back(0); } if(y[i]>x[i]){ x[i+1] -= 1; x[i] += 10; } j = x[i]-y[i]; sum.push_back(j); j /= 10; } bool l = false; for(int i = sum.size()-1;i>=0;i--){ if(sum[i]!=0 || l){ cout<<sum[i]; l = true; } } return 0; }