- 【例1.5】高精除
求救(help!!!),啊啊啊啊啊!!!!!!!!!!!
- 2025-3-25 20:23:12 @
悬赏一瓶阿萨姆10以内随便,求改!!!!!!!!!坐牢2周了,啊啊啊啊啊啊啊啊啊啊!!!!!!!!!!!!!!
#include<bits/stdc++.h>
using namespace std;
string x,y;
int a[350],b[350],c[350],d[350],la,lb;
bool pd(int last,int len){
if(d[last+len]<0)return false;
for(int i=len-1;i>=0;i--){
if(d[last+i]>b[i])return true;
if(d[last+i]<b[i])return false;
}
return true;
}
void div(){
for(int i=la-lb;i>=0;i--)while(pd(i,lb)){
for(int j=0;j<lb;j++){
d[i+j]-=b[j];
if(d[i+j]<0){
d[i+j+1]--;
d[i+j]+=10;
}
}
c[i]++;
if(c[i]>=10)c[i]-=10,c[i+1]++;
}
}
int main() {
cin>>x>>y;
la=x.size(),lb=y.size();
for(int i=0;i<la;i++)a[la-i-1]=d[la-i-1]=x[i]-'0';
for(int i=0;i<lb;i++)b[lb-i-1]=y[i]-'0';
div();
bool f=false;
for(int i=349;i>=0;i--)if(f||c[i]>0)cout<<c[i],f=true;
if(!f)cout<<'0';
f=false,cout<<endl;
for(int i=349;i>=0;i--)if(f||d[i]>0)cout<<d[i],f=true;
if(!f)cout<<'0';
return 0;
}
已A
#include<bits/stdc++.h>
using namespace std;
string x,y;
int a[350],b[350],c[350],d[350],la,lb;
bool pd(int last, int len){
for(int k=last+len;k<350;++k)if(d[k]!=0)return true;
for(int i=len-1;i>=0;i--){
if(d[last+i]>b[i])return true;
if(d[last+i]<b[i])return false;
}
return true;
}
void div(){
for(int i=la-lb;i>=0;i--){
while(pd(i,lb)){
for(int j=0;j<lb;j++){
d[i+j]-=b[j];
if(d[i+j]<0)d[i+j+1]--,d[i+j]+=10;
}
c[i]++;
for(int j=i;j<350&&c[j]>=10;++j)c[j+1]+=c[j]/10,c[j]%=10;
}
}
}
int main() {
cin>>x>>y;
la=x.size(),lb=y.size();
for(int i=0;i<la;++i)a[la-i-1]=d[la-i-1]=x[i]-'0';
for(int i=0;i<lb;++i)b[lb-i-1]=y[i]-'0';
div();
bool f=false;
for(int i=349;i>=0;i--)if(c[i]!=0||f)f=true,cout<<c[i];
if(!f)cout<<0;
cout<<endl;
f=false;
for(int i=349;i>=0;i--)if(d[i]!=0||f)f=true,cout<<d[i];
if(!f)cout<<0;
return 0;
}
1 comments
-
h_h LV 5 MOD @ 2025-3-26 0:08:14
强强强👍👍👍猴哥发表点出狱注释啊,便于自己复习
- 1
Information
- ID
- 793
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 5
- Tags
- # Submissions
- 66
- Accepted
- 27
- Uploaded By