题解

215 条题解

  • 0
    @ 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

  • 0
    @ 2008-12-01 13:25:34

    为什么后面要加多个0.00001?

  • 0
    @ 2008-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.

  • 0
    @ 2008-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))

  • 0
    @ 2008-11-20 23:00:43

    program asdf;

    var

    p,q,r:real;

    ans:longint;

    begin

    readln(p,q);

    ans:=0;

    if p

  • 0
    @ 2008-11-13 22:05:26

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 88ms

    var 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精度问题,生枚举就行了。

  • 0
    @ 2008-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率啊

  • 0
    @ 2008-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.

  • 0
    @ 2008-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

  • 0
    @ 2008-11-10 08:23:12

    不明白为什么?这样就可以

    int(sum*q/100-0.00001)-int(sum*p/100+0.00001)=1

  • 0
    @ 2008-11-09 21:11:41

    真没想到有这么变态啊

    ~~~~~~无语~~~~~~

  • 0
    @ 2008-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 有效耗时:0ms

    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.

    变态的题!!!!!!!!!!!!!!!!!!!!!!!!!!!

  • 0
    @ 2008-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);

    }

  • 0
    @ 2008-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.

  • 0
    @ 2008-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

  • 0
    @ 2008-11-02 23:51:05

    初值赋错.

  • 0
    @ 2008-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的简单呢

  • 0
    @ 2008-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

  • 0
    @ 2008-10-30 01:04:41

    郁闷了...为啥P,Q要先除100再乘N呢...先乘再除怎么就不一样....

  • 0
    @ 2008-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;

    }

信息

ID
1041
难度
6
分类
其他 | 数学 点击显示
标签
(无)
递交数
8246
已通过
2314
通过率
28%
被复制
11
上传者