(已查资料,可解决不了)
#include<bits/stdc++.h>
using namespace std;
bool cmp(string s1,string s2){
if(s1.size()>s2.size()||s1.size()==s2.size()&&s1>=s2)
return true;
else return false;
}
int main(){
string s1,s2,s;
cin>>s1>>s2;
int t=s1.size()-s2.size()+1;
for(int i=t;i>=1;i--){ //减数变换的次数
s=s2;//要有多次填0
for(int j=1;j<=i-1;j++)s+='0';//除数
int num=0;
while(cmp(s1,s)){
num++;
//处理数据
int a[1001]={},b[1001]={},c[1001]={};
int l1=s1.size(),l2=s.size();
for(int j=0;j<l1;j++) a[l1-j+1]=s1[j]-'0';
for(int j=0;j<l2;j++) b[l2-j+1]=s[j]-'0';
//做减法
for(int j=1;i<=l1;j++) c[j]=a[j]-b[j];
for(int j=1;j<=l1;j++){
if(c[j]<0){
c[j+1]--;
c[j]+=10;
}
}
//处理最高位
while(c[l1]==0 && l1>1){
l1--;
}
s1="";
for(int j=l1;j>=1;j--)
s1+=(c[j]+'0');
}
cout<<num;
}
return 0;
}