vector
2025-09-22 19:41:49
发布于:上海
3阅读
0回复
0点赞
#include<iostream>
#include<vector>
#include<cstring>
using namespace std;
vector<int> a,b,ans,c;
void read(vector<int> &a){
string s;
cin >> s;
for(int i = s.size() - 1;i >= 0;i--) a.push_back(s[i] - '0');
}
void q(vector<int> &c){
while(!c.empty() && c[c.size() - 1] == 0) c.pop_back();
}
bool big(){
if(c.empty()) return 0;
if(c.size() != b.size()) return c.size() > b.size();
for(int i = b.size() - 1;i >= 0;i--){
if(c[i] != b[i]) return c[i] > b[i];
}
return 1;
}
void m(){
int p = 0;
for(int i = 0;i < c.size();i++){
c[i] -= p;
if(i < b.size()) c[i] -= b[i];
p = 0;
if(c[i] < 0) c[i] += 10,p = 1;
}
}
int main(){
read(a),read(b);
//for(auto i : a) cout << i;
ans.resize(a.size() + 15,0);
for(int i = a.size() - 1;i >= 0;i--){
c.insert(c.begin(),a[i]);
q(c);
while(big()){
q(c);
m();
ans[i]++;
}
}
q(ans);
for(int i = ans.size() - 1;i >= 0;i--) cout << ans[i];
cout << endl;
//for(int i = c.size();i >= 0;i--) cout << c[i];
return 0;
}
这里空空如也







有帮助,赞一个