codevs 高精度加法 3116

    xiaoxiao2021-03-26  27

    题目描述 Description 给出两个正整数A和B,计算A+B的值。保证A和B的位数不超过500位。 输入描述 Input Description 读入两个用空格隔开的正整数 输出描述 Output Description 输出A+B的值 样例输入 Sample Input 3 12 样例输出 Sample Output 15 数据范围及提示 Data Size & Hint

    两个正整数的位数不超过500位

    代码:

    const   maxn=1000; var   a,b,c:array [0..maxn] of longint;   s1,s2:ansistring;   i,j,k,len:longint; begin   readln(s1);   s2:=copy(s1,1,pos(' ',s1)-1);   for i:=length(s2) downto 1 do     a[length(s2)-i+1]:=ord(s2[i])-48;   delete(s1,1,pos(' ',s1));   for i:=length(s1) downto 1 do     b[length(s1)-i+1]:=ord(s1[i])-48;   if length(s1)>length(s2) then     len:=length(s1)   else     len:=length(s2);   for i:=1 to len do     begin       c[i]:=a[i]+b[i]+c[i];       c[i+1]:=c[i] div 10;       c[i]:=c[i] mod 10;     end;   if c[len+1]>0 then     inc(len);   for i:=len downto 1 do     write(c[i]); end.

    转载请注明原文地址: https://ju.6miu.com/read-660728.html

    最新回复(0)