高精度除法(高精除以低精)——一步一步算法篇

来源:互联网 发布:淘宝食品流通许可证 编辑:程序博客网 时间:2024/06/08 14:31

高精度除法(高精除以低精)

利用0~9次的循环减法模拟除法的过程,并计数,从而得到商的值。

#include<iostream>#include<cstring>#include<cstdio>using namespace std;int main(){    char a1[100],c1[100];    int a[100],c[100],lena,i,x=0,lenc,b;    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;i++)     cout<<c[i];    cout<<endl;    return 0;}

一步一步算法篇

1 0