社区讨论

各位大佬为什么10分

P2142高精度减法参与者 2已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@mi7x7rgs
此快照首次捕获于
2025/11/21 05:05
4 个月前
此快照最后确认于
2025/11/21 05:05
4 个月前
查看原帖
CPP
var a,b,c:array[1..100000]of longint;
    s1,s2:ansistring;
    lena,lenb,len,i,j,x,k:longint;
begin
 readln(s1);
 lena:=length(s1);
 for i:=1 to lena do a[lena-i+1]:=ord(s1[i])-ord('0');
 readln(s2);
 lenb:=length(s2);
 for i:=1 to lenb do b[lenb-i+1]:=ord(s2[i])-ord('0');
 if (lena<lenb) then begin c:=a; a:=b; b:=c; write('-'); end;
 if (lena=lenb) and (s1<s2) then begin c:=a; a:=b; b:=c; write('-'); end;
 fillchar(c,sizeof(c),0);
 len:=lena;
 for i:=1 to len do
 begin
  c[i]:=a[i]-b[i];
  if (c[i]<0) then
  begin
   c[i]:=c[i]+10;
   dec(a[i+1]);
  end;
 end;
 while (c[len]=0) do dec(len);
 for i:=len downto 1 do write(c[i]);
 writeln;
end.

回复

3 条回复,欢迎继续交流。

正在加载回复...