6 条题解

  • 1
    @ 2024-8-1 12:04:21

    #include<bits/stdc++.h> using namespace std; int main(){ string a,b,c=""; cin>>a>>b; reverse(a.begin(),a.end()); reverse(b.begin(),b.end()); if(a.length()<b.length()){ swap(a,b); } int z,r=0; for(int i=0;i<b.length();i++){ z=a[i]-'0'+b[i]-'0'+r; c+=z%10+'0'; r=z/10; } for(int i=b.length();i<a.length();i++){ z=a[i]-'0'+r; c+=z%10+'0'; r=z/10; } if(r==1){ c+=r+'0'; } reverse(c.begin(),c.end()); cout<<c; return 0; }

    • 1
      @ 2024-7-30 16:19:28

      ~我讨厌高精度~ 代码来自王梓印,感谢~ 上代码(爸爸点个赞再走吧,谢谢)

      #include <stdio.h>
      #include <string.h>
      #define M 200
      char s1[M], s2[M];
      int a[M], b[M];
      int main()
      {
          int n1, n2, c, t, i;
          scanf("%s", s1);
          scanf("%s", s2);
          n1 = strlen(s1);
          n2 = strlen(s2);
          if (n1<n2)
              t = n2;
          else t = n1; c = t;
       
          for (i = 0; i<n1; t--, i++)
              a[t] = s1[n1 - 1 - i] - '0';
          for (t = c, i = 0; i<n2; t--, i++)
              b[t] = s2[n2 - 1 - i] - '0';
       
          for (i = c; i >= 0; i--){
              a[i] += b[i];
              if (a[i] >= 10){
                  a[i] -= 10;
                  a[i - 1]++;
              }
          }
          if (a[0] != 0)
              for (i = 0; i <= c; i++)
                  printf("%d", a[i]);
          else
              for (i = 1; i <= c; i++)
                  printf("%d", a[i]);
       
          printf("\n");
          return 0;
      }
      
      • 1
        @ 2024-4-20 15:44:24

        《两行》 绝对不是闲的没事

        #include <bits/stdc++.h>
        using namespace std;int c[100000];int a[100000];int b[100000];int main(){string a1,b1;int lena,lenb;cin>>a1>>b1;lena=a1.length();lenb=b1.length();for(int i=0;i<lena;i++){a[lena-i]=a1[i]-48;}for(int i=0;i<lenb;i++){b[lenb-i]=b1[i]-48;}int lenc=1;int f=0;while (lenc<=lena || lenc<=lenb){c[lenc]=a[lenc]+b[lenc]+f;f=c[lenc]/10;c[lenc]%=10;lenc++;}c[lenc]=f;if(c[lenc]==0){lenc--;}for(int i=lenc;i>0;i--){cout<<c[i];}return 0;}
        
        • @ 2024-7-17 9:59:30

          你这明明就是很闲

        • @ 2024-8-18 22:35:57

          这才真正2行

          a=input().split()
          print(int(a[0])+int(a[1]))
          
          
      • 0
        @ 2024-4-20 15:31:13

        高精,还刑。

        #include<bits/stdc++.h>
        using namespace std;
        int main(){
            string a,b,c="";
            cin>>a>>b;
            reverse(a.begin(),a.end());
            reverse(b.begin(),b.end());
            if(a.length()<b.length()){
                swap(a,b);
            }
            int z,r=0;
            for(int i=0;i<b.length();i++){
            	z=a[i]-'0'+b[i]-'0'+r;
            	c+=z%10+'0';
            	r=z/10;
        	}
        	for(int i=b.length();i<a.length();i++){
        		z=a[i]-'0'+r;
        		c+=z%10+'0';
        		r=z/10;
        	}
        	if(r==1){
        		c+=r+'0';
        	}
        	reverse(c.begin(),c.end());
        	cout<<c;
            return 0;
        }
        
      • -2
        @ 2024-4-14 14:44:54
        #include <iostream>//头文件
        using namespace std;//标准命名空间
        
        int main()
        {
           	 
        	string a,b;
        	cin>>a>>b;
        	int num=(a.length()>b.length()?a.length():b.length());
        	int A[num]={0};
        	for(int i=0;i<num;i++)
        			A[i]=(i<a.length())?(a[a.length()-i-1]-48):0;
        	
        	int B[num]={0};
        	for(int i=0;i<num;i++)
        			B[i]=(i<b.length())?(b[b.length()-i-1]-48):0;
        
        	int C[num+1]={0};
        	for(int i=0;i<num;i++){
        		C[i]+=A[i];
        		C[i]+=B[i];
        		if(C[i]>9){
        			C[i]-=10;
        			C[i+1]++;
        		}
        	}
        
        	bool Y=1;
        	for(int i=num;i>=0;i--){
        		if(C[i]!=0&&Y){
        			Y=0;
        			cout<<C[i];
        		}
        		else if(Y==0)
        		cout<<C[i];
        	}
        	cout<<endl;    
        	system("pause");
            return 0;
        }
        
        
        
        • -3
          @ 2024-7-3 18:30:04

          #include <iostream> using namespace std; int main() {

          string a,b;
          cin>>a>>b;
          int num=(a.length()>b.length()?a.length():b.length());
          int A[num]={0};
          for(int i=0;i<num;i++)
          		A[i]=(i<a.length())?(a[a.length()-i-1]-48):0;
          
          int B[num]={0};
          for(int i=0;i<num;i++)
          		B[i]=(i<b.length())?(b[b.length()-i-1]-48):0;
          
          int C[num+1]={0};
          for(int i=0;i<num;i++){
          	C[i]+=A[i];
          	C[i]+=B[i];
          	if(C[i]>9){
          		C[i]-=10;
          		C[i+1]++;
          	}
          }
          
          bool Y=1;
          for(int i=num;i>=0;i--){
          	if(C[i]!=0&&Y){
          		Y=0;
          		cout<<C[i];
          	}
          	else if(Y==0)
          	cout<<C[i];
          }
          cout<<endl;
          

          }

          • 1

          信息

          ID
          482
          时间
          1000ms
          内存
          256MiB
          难度
          8
          标签
          递交数
          525
          已通过
          76
          上传者