215 条题解
-
0wzfwzf LV 8 @ 2009-02-02 15:06:52
向各位请教一下,我错在哪里?(以下是我的源程序)
var
p,q,m:real;
s:longint;
begin
s:=0;
read(p,q);
p:=p/100;q:=q/100;
if p0 then
begin
repeat
m:=trunc(s*q);
if (m>s*p)and(ms*p)and(ms*p)and(ms*p)and(m -
02008-12-01 13:25:34@
为什么后面要加多个0.00001?
-
02008-12-01 13:15:47@
program p1041;
var
p,q:real;
ans:longint;
begin
readln(p,q);
p:=p/100;q:=q/100;
ans:=0;
repeat
inc(ans);
until trunc(ans*p+0.0000001)+1=trunc(ans*q-0.0000001);
writeln(ans);
end. -
02008-11-30 01:14:19@
program P1041;
var
P,Q:extended;
i:longint;
begin
readln(P,Q);
P:=P/100;
Q:=Q/100;
i:=1;
while (abs(i*P-trunc(i*Q)) -
02008-11-20 23:00:43@
program asdf;
var
p,q,r:real;
ans:longint;
begin
readln(p,q);
ans:=0;
if p -
02008-11-13 22:05:26@
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 88msvar p,q:real;s,i:longint;
begin
readln(p,q);
p:=p/100;q:=q/100;
s:=trunc(1/q);
while true do begin
for i:=0 to s-1 do
if (i/s-p>1e-9)and(q-(i/s)>1e-9)then begin writeln(s);halt;end;
inc(s);
end;
end.
注意pascal精度问题,生枚举就行了。 -
02008-11-13 16:48:50@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案错误... ├ 标准行输出
├ 错误行输出
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案错误... ├ 标准行输出
├ 错误行输出
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Unaccepted 有效得分:80 有效耗时:0ms
精度啊!靠!编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
加个0.0001就对了啊!,哎!AC率啊 -
02008-11-12 12:33:48@
program p1041;
var n,m:real;
i:longint;
begin
readln(n,m);
i:=0;
repeat
inc(i);
until trunc(i*n/100+0.00001)+1=trunc(i*m/100-0.00001);
writeln(i);
end. -
02008-11-10 17:13:04@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02008-11-10 08:23:12@
不明白为什么?这样就可以
int(sum*q/100-0.00001)-int(sum*p/100+0.00001)=1 -
02008-11-09 21:11:41@
真没想到有这么变态啊
~~~~~~无语~~~~~~ -
02008-11-09 18:56:26@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msprogram p1041;
var
p,q:real;
i:longint;
begin
readln(p,q);
i:=0;
repeat
inc(i);
until trunc(i*p/100+0.00001)+1=trunc(i*q/100-0.00001);
writeln(i);
end.变态的题!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
02008-11-09 12:49:47@
#include
int main()
{
float p,q;
scanf("%f %f",&p,&q);
p=p/100;
q=q/100;
int i;
for(i=1;;i++)
{if((int)(i*q-0.000001)-(int)(i*p+0.000001)>=1)
break;}
printf("%d\n",i);
} -
02008-11-08 11:37:41@
program p1041;
var
p,q:real;
i:longint;
begin
readln(p,q);
i:=0;
repeat
inc(i);
until trunc(i*p/100+0.00001)+1=trunc(i*q/100-0.00001);
writeln(i);
end. -
02008-11-07 18:43:04@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02008-11-02 23:51:05@
初值赋错.
-
02008-11-01 11:42:17@
楼下张聚川也写题解啦
阿东VS燕麦~到底呀
var
p,q,x,y:real;
total:longint;
bo:boolean;
begin
readln(p,q);
p:=p/100;
q:=q/100;
bo:=false;
total:=1;
repeat
inc(total);
x:=total*p; y:=total*q;
if (y>trunc(y)) and (trunc(y)>x) then bo:=true;
until bo;
writeln(total);
end.
水题+送通过率,一个小小的trunc搞定。
我枚举好似比一些编0.00000000……1的简单呢 -
02008-10-31 22:26:01@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02008-10-30 01:04:41@
郁闷了...为啥P,Q要先除100再乘N呢...先乘再除怎么就不一样....
-
02008-10-29 10:09:02@
#include
double P,Q;
int main()
{
long ans,min,max;
scanf("%lf%lf",&P,&Q);
ans=1,min=1,max=0;
while(min>=max)
{
min=(long)(ans*P)/100+1;
max=(long)(ans*Q)/100;
if((long)(ans*Q*100)%10000)
++max;
++ans;
}
--ans;
printf("%ld\n",ans);
return 0;
}