Advertisement
MaskerQwQ

P1120 大整数加法

Mar 26th, 2022
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.75 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. char a[205],b[205];
  6. int numa[205],numb[205],ans[205];
  7.  
  8. int main()
  9. {
  10.     int la,lb,flag,m;
  11.     while(scanf("%s%s",a,b)!=EOF){
  12.         flag=0;
  13.         la=strlen(a);
  14.         lb=strlen(b);
  15.         m=max(la,lb);
  16.         for(int i=la-1,j=0;i>=0;i--,j++){
  17.             numa[j]=a[i]-48;
  18.         }
  19.         for(int p=lb-1,q=0;p>=0;p--,q++){
  20.             numb[q]=b[p]-48;
  21.         }
  22.         for(int k=0;k<m;k++){
  23.             ans[k]+=numa[k]+numb[k];
  24.             if(ans[k]>=10){
  25.                 ans[k]-=10;
  26.                 ans[k+1]+=1;
  27.             }
  28.         }
  29.         for(int x=204;x>=0;x--){
  30.             if(ans[x]!=0){
  31.                 printf("%d",ans[x]);
  32.                 flag=1;
  33.             }
  34.             if(ans[x]==0&&flag==1){
  35.                 printf("%d",ans[x]);
  36.             }
  37.         }
  38.         cout<<endl;
  39.         memset(numa,0,sizeof(numa));
  40.         memset(numb,0,sizeof(numb));
  41.         memset(ans,0,sizeof(ans)); 
  42.     }
  43.     return 0;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement