1 条题解

  • 0
    @ 2025-4-12 21:33:45

    C++ :

    #include<iostream>
    #include<cstdio>
    #include<cstdlib>
    #include<cstring>
    using namespace std;
    int main ()
    {
     char a1[10001],b1[10001];
     int a[10000],b[10000],c[10000],l1,l2,l,i,m;
     memset(a,0,sizeof(a));
     memset(b,0,sizeof(b));
     memset(c,0,sizeof(c));
     cin.getline(a1,10000);cin.getline(b1,10000);
     l1=strlen(a1);l2=strlen(b1);
     for (i=0;i<=l1-1;++i)
      a[l1-i]=a1[i]-48;
     for (i=0;i<=l2-1;++i)
      b[l2-i]=b1[i]-48;
     l=1;m=0;
     while ((l<=l1)||(l<=l2))
      {
       c[l]=a[l]+b[l]+m;
       m=c[l]/10;
       c[l]%=10;
       l++;
      }
     c[l]=m;
     if (c[l]==0) l=l-1;
     for (i=l;i>=1;i--)
      cout<<c[i];
     return 0;
    }
    
    

    Pascal :

    var
    c,d,k:string;
    m,s,i,n,y:integer;
    a,b,e:array[1..250] of integer;
    w:boolean;
    begin
        readln(c);
        readln(d);
        for i:=1 to length(c) do
        begin
        k:=copy(c,i,1);
        a[250-length(c)+i]:=ord(k[1])-48;
        end;
        for i:=1 to length(d) do
        begin
        k:=copy(d,i,1);
        b[250-length(d)+i]:=ord(k[1])-48;
        end;
    
        for i:=250 downto 1 do
       e[i]:=a[i]+b[i];
    
      for i:=250 downto 1 do
      if e[i]>9 then
      begin
        e[i]:=e[i] mod 10;
        e[i-1]:=e[i-1]+1;
      end;
    
      w:=false;
      for i:=1 to 250 do
      if (e[i]>0) or (w=true) then begin write(e[i]);w:=true;end;
    
        end.
    
    
    • 1

    信息

    ID
    461
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者