主题:识5识做??
6yangweihua
[专家分:180] 发布于 2005-09-04 19:09:00
输入两个整数M和N,M和N不大于200位。输出M-N的差。
[输入]
M N(1〈M,N〈10的200次方)
[输出]
M-N
[输入输出样例]
输入:
256 567
输出:
-311
回复列表 (共12个回复)
沙发
mo19880630 [专家分:420] 发布于 2005-09-05 12:28:00
var
m,n:integer;
begin
read(m,n);
write(m-n)
end.
[img]http://sports.sohu.com/upload/wallpapers/shaq_yao1024x768.jpg[/img]
板凳
花花美男子 [专家分:260] 发布于 2005-09-05 18:45:00
program xj(input,output);
var
a,m,n:integer;
begin
readln(m,n);
a:=m-n;
writeln('a=',a);
end.
3 楼
6yangweihua [专家分:180] 发布于 2005-09-05 20:29:00
留意题目,系输入不大于200位的数~~~
4 楼
mythjoker [专家分:400] 发布于 2005-09-07 20:29:00
用高精度计算呀.
定义个两个字符数组.
先比较一下大小,既数组长度
然后逐位相减,不够的从前一位借
最后加上正负号输出.
5 楼
lzl1403 [专家分:1670] 发布于 2005-09-09 20:52:00
同意同意!用高精度!给个参考程序:
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 楼
阿Ben [专家分:2200] 发布于 2005-09-09 22:15:00
同意楼上!
但楼主请不要用广东方言打字,我要不是广东人,还真看不明白什么叫“识5识做”呢。
顺便向大家解释一下:广东方言“识5识做”意谓“会不会做”
7 楼
xuzhenyi [专家分:850] 发布于 2005-09-25 21:24:00
高精度算法 在考虑个负数就行了
8 楼
xuzhenyi [专家分:850] 发布于 2005-09-25 22:09:00
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 楼
QQ331373582 [专家分:1500] 发布于 2005-10-15 10:14:00
var n,m:longint;
begin
readln(n,m);
writeln(m-n);
end.
10 楼
QQ331373582 [专家分:1500] 发布于 2005-10-15 10:14:00
+++分
我来回复