高精度除法(高精度除以低精度)
#include<bits/stdc++.h>
#define Maxn 1000000
using namespace std;
typedef long long ll;
int a[Maxn+5],c[Maxn+5];
void div(string sa,int ib,string &sc)
{
if(!ib)
{
sc="Error!";
return ;
}
memset(a,0,sizeof(a));
memset(c,0,sizeof(c));
int n=0;
for(int i=0;i<sa.length();i++) a[n++]=sa[i]-'0';
ll t=0;
for(int i=0;i<n;i++)
{
t=t*10+a[i];
if(t>=ib)
{
c[i]=t/ib;
t%=ib;
}
else c[i]=0;
}
int s=0;
while(s<n-1&&!c[s]) s++;
sc="";
for(int i=s;i<n;i++) sc+='0'+c[i];
sc+="......";
memset(c,0,sizeof(c));
n=0;
while(t)
{
c[n++]=t%10;
t/=10;
}
for(int i=n-1;i>=0;i--) sc+='0'+c[i];
return ;
}
int main()
{
string a,c;
int b;
cin>>a>>b;
div(a,b,c);
cout<<c;
return 0;
}