#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
using namespace std;
typedef long long LL;
struct bign
{
int len;
int d[1010];
bign(){
len = 0;
memset(d,0,sizeof(d));
}
};
bign changB(char n[])
{
bign a;
a.len = strlen(n);
for(int i = 0;i<a.len;i++)
{
a.d[i] = n[a.len - i - 1] - '0';
}
return a;
}
bign div(bign a,int b,int &r)
{
bign ans;
ans.len = a.len;
for(int i = a.len-1;i>=0;i--)
{
r = r*10 + a.d[i];
if(r<b)
{
ans.d[i] = 0;
r = r % b;
}
else
{
ans.d[i] = r / b;
r = r % b;
}
}
while(ans.d[ans.len - 1] == 0 && ans.len>=1)
{
ans.len--;
}
return ans;
}
int main()
{
int r = 0;
int b = 0;
char n[1010];
scanf("%s",n);
scanf("%d",&b);
bign a = changB(n);
bign ans = div(a,b,r);
for(int i = ans.len - 1;i>=0;i--)
{
printf("%d",ans.d[i]);
}
if(ans.len == 0)
printf("0");
printf(" %d",r);
return 0;
}
大整数 B1017 A除以B (20 分)
最新推荐文章于 2020-02-09 22:28:02 发布