高精度除法

來源:互聯網
上載者:User

標籤:

本來想直接一個一個地減的~~~~

太耗時了。

 1 #include<iostream> 2 #include<cstring> 3 int lena,lenb,lenc,lend,lene; 4 int comp(int d[],int b[]) 5 { 6     int len; 7     if(lend>lenb) len=lend; 8     else len=lenb; 9     while(len>=1&&d[len-1]==b[len-1]) len--;10     if(len==0) return 0;11     else return d[len-1]-b[len-1];12 }13 void k(int d[])14 {15     int i;16     for(i=lend-1;i>=0;i--)17         d[i+1]=d[i];18     d[0]=0;19     lend++;20 }21 void chf(int d[],int b[],int e[])22 {23     int i,j,len;24     if(lend>lenb)len=lend;25     else len=lenb;26     for(i=0;i<len;i++)27     {28         e[i]+=d[i]-b[i];29         if(e[i]<0)30         {31             e[i+1]--;32             e[i]+=10;33         }34     }35     while(len>1&&e[len-1]==0)len--;36     lene=len;37 }38 void ch(int a[],int b[],int c[],int d[])39 {40     int e[1000];41     int i,j,len;42     len=lena;43     lend=0;44     for(i=len-1;i>=0;i--)45     {46         k(d);47         d[0]=a[i];48         while(comp(d,b)>=0)49         {50            memset(e,0,sizeof(e));51            chf(d,b,e);52            memcpy(d,e,sizeof(e));53            lend=lene;54            c[i]++;55         }56     }57     while(len>1&&c[len-1]==0) len--;58     lenc=len;59 }60 int main()61 {62     int i,j;63     char sa[10001],sb[10001];64     int a[10001],b[10001],c[10001],d[10001];65     scanf("%s%s",sa,sb);66     memset(c,0,sizeof(c));67     memset(a,0,sizeof(a));68     memset(b,0,sizeof(b));69     memset(d,0,sizeof(d));70     lena=strlen(sa);71     lenb=strlen(sb);72     for(j=0,i=lena-1;i>=0;i--) a[j++]=sa[i]-48;73     for(j=0,i=lenb-1;i>=0;i--) b[j++]=sb[i]-48;74     ch(a,b,c,d);75     for(i=lenc-1;i>=0;i--)76     printf("%d",c[i]);77     printf("\n");78     for(i=lend-1;i>=0;i--) printf("%d",d[i]);79 }
View Code

 

高精度除法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.