2 solutions

  • 2
    @ 2025-3-9 13:40:13
    #include<bits/stdc++.h>
    using namespace std;
    const int N=260;
    int a[N],b[N],c[N];
    string s1,s2;
    int main()
    {
    	cin>>s1>>s2;
    	int lena=s1.size();
    	int lenb=s2.size();
    	int lenc=max(lena,lenb)+1;
    	for(int i=0,j=s1.size()-1;j>=0;i++,j--)
    	{
    		a[i]=s1[j]-'0';
    	}
    	for(int i=0,j=s2.size()-1;j>=0;i++,j--)
    	{
    		b[i]=s2[j]-'0';
    	}
    	int t=0;
    	for(int i=0;i<=lenc;i++)
    	{
    		t=t+a[i]+b[i];
    		c[i]=t%10;
    		t/=10;
    	}
    	while(lenc>0&&c[lenc]==0) lenc--;
    	for(int i=lenc;i>=0;i--)
    	{
    		cout<<c[i];
    	}
        return 0;
    }
    
    • 1
      @ 2025-9-22 17:47:42
      #include<bits/stdc++.h>
      using namespace std;
      const int N=210;
      int a[N],b[N],c[N];
      int main()
      {
      	string s1,s2;
      	cin>>s1>>s2;
      	reverse(s1.begin(),s1.end());
      	reverse(s2.begin(),s2.end());
      	for(int i=0;i<s1.size();i++)
      	{
      		a[i]=s1[i]-'0';
      	}
      	for(int i=0;i<s2.size();i++)
      	{
      		b[i]=s2[i]-'0';
      	}
      	int lenc=max(s1.size(),s2.size())+1;
      	for(int i=0,t=0;i<lenc;i++) //t表示进位
      	{
      		c[i]=a[i]+b[i]+t;
      		t=c[i]/10;
      		c[i]=c[i]%10;
      	}
      	while(lenc&&c[lenc]==0) lenc--;
      	for(int i=lenc;i>=0;i--)
      	{
      		cout<<c[i];
      	}
      	return 0;
      }
      
      • 1

      Information

      ID
      956
      Time
      1000ms
      Memory
      256MiB
      Difficulty
      3
      Tags
      (None)
      # Submissions
      123
      Accepted
      31
      Uploaded By