PS:爱c++爱未来
一、高精度除以低精度
采取按位相除法。
#include<cstdio>
#include<iostream>
using namespace std;
const int maxn=1010;
char a1[maxn],c1[maxn];
int a[maxn],c[maxn],x=0,b,lena,lenc,i;
int main()
{
freopen("file.in","r",stdin);
freopen("file.out","w",stdout);
memset(a,0,sizeof(a));
memset(c,0,sizeof(c));
gets(a1);
cin>>b;
lena=strlen(a1);
for(i=0;i<=lena-1;i++)
a[i+1]=a1[i]-48; //将高精度被除数放入a数组
for (i=1;i<=lena;i++) //按位相除
{
c[i]=(x*10+a[i])/b;
x=(x*10+a[i])%b;
}
lenc=1;
while (c[lenc]==0&&lenc<lena)
lenc++; //删除前导0
for(i=lenc;i<=lena