大整數減法

來源:互聯網
上載者:User
總時間限制: 1000ms 記憶體限制: 65536kB 描述

求兩個大的正整數相減的差。 輸入 共2行,第1行是被減數a,第2行是減數b(a > b)。每個大整數不超過200位,不會有多餘的前置字元為零。 輸出 一行,即所求的差。 範例輸入

99999999999999999999999999999999999999999999999999
範例輸出
9999999999999999999999990000000000000

 

大整數的減法和加法其實差不多,下面也附上兩種ac代碼。

版本一:#include#includeint main(){    char s1[210],s2[210];    int a[210]={0},b[210]={0},i,j=0,k,t=0,l1,l2;      gets(s1);      gets(s2);      l1=strlen(s1);      l2=strlen(s2);      for(i=l1-1;i>=0;i--)        a[j++]=s1[i]-'0';      for(j=0,i=l2-1;i>=0;i--)        b[j++]=s2[i]-'0';        for(i=0;i=0&&a[i]==0;i--);            if(i>=0)            {                for(;i>=0;i--)                printf("%d",a[i]);            }            else                printf("0");            return 0;}版本二:#include#includechar a[202],b[202];int c[202],d[202];int main(){    int l1,l2,i,k,t;    scanf("%s%s",a,b);    l1=strlen(a),l2=strlen(b);    for(i=0;il2?k=l1:k=l2;    for(i=0;i<=k;i++)     t=c[i]-d[i],t<0?(t+=10,c[i+1]--):t,c[i]=t;     while(!c[k]&&k)k--;     for(;k>=0;k--)     printf("%d",c[k]);     return 0;}


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.