/ Vijos / 讨论 / 问答 /

2个完全一样的程序 为什么答案不一样?

这是错解:

---|---|---|---|---|---|---|---|--

var

x,y,i,j,t:longint;

function gcd(a,b:longint):longint;

begin

if b=0 then exit(a);

gcd:=gcd(b,a mod b);

end;

begin

readln(x,y);t:=0;

if x=y then begin writeln('1');halt;end;

for i:=1 to y do

for j:=1 to y do

if i*j=x*y then if gcd(i,j)=x then int(t);

writeln(t);

end.

---|---|---|---|---|---|---|---|---|---|

这是正解:

var

x,y,i,j,t:longint;

function gcd(a,b:longint):longint;

begin

if b=0 then exit(a);

gcd:=gcd(b,a mod b);

end;

begin

readln(x,y); t:=0;

if x=y then begin writeln(1); halt; end;

for i:=1 to y do

for j:=1 to y do

if i*j=x*y then if gcd(i,j)=x then inc(t);

writeln(t);

end.

---|---|---|---|---|---|---|---|---|---|---|-

5 条评论

  • @ 2009-10-21 13:40:56

    我悲剧了。。

    看到了。。

  • @ 2009-10-21 13:38:25

    - -

    听说第一个有个INT;它的正解是INC的- -

  • @ 2009-10-21 13:03:31

    显然,, 还是有不同的~

  • @ 2009-10-21 12:47:14

    请问下这是哪题...不应该这样啊..如果两个程序确实一样的话..

  • @ 2009-10-21 12:42:06

    程序就是有这么神奇。

    你两次评的评测机是不是一样?

    如果不一样这种淫荡的事情就会发生。

  • 1