样例(可复制)
123456789050987654321 7
17636684150141093474 3
注意点
- 本题是大整数运算的除法模板
- 高位的0需要剔除
#include <bits/stdc++.h>
using namespace std;
struct bign{
int d[1010];
int len;
bign(){
memset(d,0,sizeof(d));
len=0;
}
};
bign change(string a){
bign b;
b.len=a.size();
for(int i=0;i<a.size();i++)b.d[i]=a[a.size()-i-1]-'0';
return b;
}
int main(){
string str;
int b,r=0;
cin>>str>>b;
bign a=change(str),c;
c.len=a.len;
for(int i=a.len-1;i>=0;i--){
r=r*10+a.d[i];
if(r<b)c.d[i]=0;
else {
c.d[i]=r/b;
r=r%b;
}
}
while(c.len-1>=1&&c.d[c.len-1]==0)c.len--;
for(int i=c.len-1;i>=0;i--)cout<<c.d[i];
cout<<" "<<r;
return 0;
}