回 帖 发 新 帖 刷新版面

主题:识5识做??

输入两个整数M和N,M和N不大于200位。输出M-N的差。
[输入]
M  N(1〈M,N〈10的200次方)
[输出]
M-N
[输入输出样例]
输入:
256 567
输出:
-311

回复列表 (共12个回复)

沙发

var
m,n:integer;
begin
read(m,n);
write(m-n)
end.
[img]http://sports.sohu.com/upload/wallpapers/shaq_yao1024x768.jpg[/img]

板凳

program xj(input,output);
var
a,m,n:integer;
begin
readln(m,n);
a:=m-n;
writeln('a=',a);
end.

3 楼

留意题目,系输入不大于200位的数~~~

4 楼

用高精度计算呀.
定义个两个字符数组.
先比较一下大小,既数组长度
然后逐位相减,不够的从前一位借
最后加上正负号输出.

5 楼

同意同意!用高精度!给个参考程序:
readln(s1);
readln(s2);
l1:=length(s1);
l2:=length(s2);
for i:=1 to l1 do
  a[l1-i+1]:=ord(s1[i])-48;
for i:=1 to l2 do
  b[l2-i+1]:=ord(s2[i])-48;
t1:=l1;
t2:=l2;
if t2>t1 then begin t1:=l2;t2:=l1;end;
for i:=1 to t1 do
begin
  if t1<=t2 then begin
    a[i]:=a[i]-b[i];
    if a[i]<0 then begin a[i]:=a[i]+10;a[i+1]:=a[i+1]-1;end;
  end;
end;
for i:=t1 downto 1 do
  write(a[i]);
writeln;

6 楼

同意楼上!

但楼主请不要用广东方言打字,我要不是广东人,还真看不明白什么叫“识5识做”呢。

顺便向大家解释一下:广东方言“识5识做”意谓“会不会做”

7 楼

高精度算法 在考虑个负数就行了

8 楼

var
a,b,c:array[1..201] of byte;
q,w,i,j,k,code,flag:integer;
s,p:string;
begin
write(' ');
readln(s);
write('-');
readln(p);
q:=length(s);
w:=length(p);
if q=w then
for i:=1 to q do
if s[i]=p[i] then flag:=1 else begin flag:=0;break; end;
if flag=1 then begin writeln('0');exit; end;
for i:=1 to q do
begin
val(s[i],a[i],code);
end;
for i:=1+q-w to w+q-w do
begin
val(p[i-q+w],b[i],code);
end;
for i:=q downto 1 do
if a[i]-b[i]<0 then
begin
c[i]:=a[i]+10-b[i]+c[i];
c[i-1]:=c[i-1]-1;
end else
begin
c[i]:=a[i]-b[i]+c[i];
end;
j:=1;
k:=1;
if c[j]=0 then
repeat
if (c[j]=0) then
begin
k:=k+1;
end;
j:=j+1;
until c[j]<>0;
for i:=k to q do
write(c[i]);
writeln;
end.



9 楼

var n,m:longint;
begin
  readln(n,m);
  writeln(m-n);
end.

10 楼

+++分

我来回复

您尚未登录,请登录后再回复。点此登录或注册