1 solutions

  • 0
    @ 2025-11-5 15:21:00

    C++ :

    #include<bits/stdc++.h>
    using namespace std;
    int a[10000],b[10000],c[10000];
    string add(string s1,string s2)
    {
    	int len1=s1.size();
    	int len2=s2.size();
    	int len3=max(len1,len2);
    	for(int i=len1-1,j=0;i>=0;i--,j++)
    	   a[j]=s1[i]-'0';
    	for(int i=len2-1,j=0;i>=0;i--,j++)
    	    b[j]=s2[i]-'0';
    	int jw=0;
    	for(int i=0;i<len3;i++)
    	{
    		c[i]=a[i]+b[i]+jw;
    		jw=c[i]/10;
    		c[i]=c[i]%10;
    	}
    	if(jw)c[len3++]=1;
    	string s3;
    	for(int i=len3-1;i>=0;i--)
    	s3+=c[i]+'0';
    	return s3;
    }
    int main(){
       string s1,s2;
       cin>>s1>>s2;
       cout<<add(s1,s2);
        return 0;
    }
    

    Pascal :

    var s1,s2:string;
        x1,x2,x:array[0..1000]of longint;
        i,j,l,l1,l2:longint;
    begin
     readln(s1);
     readln(s2);
     l1:=length(s1);
     l2:=length(s2);
     for i:=1 to l1 do x1[i]:=ord(s1[l1+1-i])-48;
     for i:=1 to l2 do x2[i]:=ord(s2[l2+1-i])-48;
     if l1>l2 then l:=l1 else l:=l2;
     j:=0;
     for i:=1 to l do
      begin
       x[i]:=(x1[i]+x2[i]+j)mod 10;
       j:=(x1[i]+x2[i]+j) div 10;
      end;
     if j>0 then begin inc(l);x[l]:=j;end;
     for i:=l downto 1 do write(x[i]);
    end.
    
    • 1

    Information

    ID
    16684
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By