题解

215 条题解

  • 0
    @ 2009-08-03 20:09:45

    #include

    using namespace std;

    int main()

    {

    float P,Q;

    cin>>P>>Q;

    P=P/100;

    Q=Q/100;

    for(int i=1;;i++)

    {

    if((int(Q*i-0.000001)-int(P*i+0.000001))>=1)

    {

    //if((Q*i*0.01)>int(Q*i*0.01))

    cout

  • 0
    @ 2009-07-30 17:02:59

    太阴了,而不是=

    var a,b:longint;

    min,max:double;

    begin

    readln(min,max);

    min:=min/100;

    max:=max/100;

    for a:=1 to maxlongint do

    if int(a*min+0.000000000001)int(a*max-0.000000000001) then

    begin

    write(a);

    halt;

    end;

    end.

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

    Accepted 有效得分:100 有效耗时:0ms

  • 0
    @ 2009-07-28 16:01:55

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

    Accepted 有效得分:100 有效耗时:0ms

    总之一句话,别想复杂了。。。

    (虽然我也觉得此题BT)

  • 0
    @ 2009-07-27 20:26:24

    program P1041;

    var bo:boolean;p,q:extended;i,x:longint;

    begin

    read(p,q);

    i:=0;bo:=false;

    repeat

    inc(i);

    if trunc(i*q/100)=i*q/100 then x:=trunc(i*q/100)-1 else x:=trunc(i*q/100);

    if x>i*p/100 then begin write(i);halt;end;

    until bo;

    end.

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

    貌似很简单。。只要注意题目里的那句不足和超过就可以了

    应该不需要很高的精度的。

  • 0
    @ 2009-07-26 10:47:25

    #include "stdio.h"

    int main()

    {

    float p,q;

    int i;

    scanf("%f%f",&p,&q);

    p=p/100;

    q=q/100;

    for(i=1;;i++)

    if((int)(i*q-0.000001)-(int)(i*p+0.000001)>=1)

    break;

    printf("%d",i);

    return 0;

    }

  • 0
    @ 2009-07-24 16:31:01

    不是很明白什么是精度……

    就知道自己傻傻的wa了4次

    谁可以具体给我讲下

    什么时候用精度考虑

    怎么考虑

    大牛的+363059129

    非常感谢

  • 0
    @ 2009-07-22 16:52:22

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

    Accepted 有效得分:100 有效耗时:0ms

    精度问题啊!!!!!!!!!!!!!!!!!!!

    我WA了3次!!!!!!!!!!!!!!!!!!!!!!

    我可怜的通过率啊!!!!!!!!!!!!!!!!!!!!!!

    program p1041(input,output);

    var p,q:real;

    i:longint;

    begin

    readln(p,q);

    p:=p/100;

    q:=q/100;

    i:=1;

    while trunc(i*p+0.0000000001)>=trunc(i*q-0.0000000001) do

    i:=i+1;

    writeln(i);

    end.

  • 0
    @ 2009-07-21 21:30:09

    知道一个不需要精度的算法

    var

    a, b, t1, t2:real;

    i: longint;

    begin

    readln(a,b);

    for i:=1 to 10001 do begin

    t1:=i*a/100;

    t2:=i*b/100;

    if (trunc(t2)-trunc(t1)>=1) and (t2>trunc(t2)) then begin

    writeln(i);

    exit;

    end;

    end;

    end.

  • 0
    @ 2009-07-22 10:12:05

    -var

    i,j:longint;

    a,flag:longint;

    m,n:double;

    b,c,p,q:double;

    begin

    read(p,q);

    a:=0;

    flag:=0;

    if (p

  • 0
    @ 2009-07-20 02:01:07

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

    Accepted 有效得分:100 有效耗时:0ms

    var p,q:double;

    i:longint;

    begin

    read(p,q);

    i:=0;

    repeat

    inc(i);

    until trunc(i*p/100+0.0001)

  • 0
    @ 2009-07-18 16:18:50

    program p1041;

    var i,n1,n2:longint;

       n,p,q:double;

    begin

    readln(p,q);

    for i:=1 to 1000000 do

    begin

    n:=i*p/100; n1:=trunc(n);

    inc(n1);

    n:=i*q/100; n2:=trunc(n);

    if n2=n then dec(n2);

    if (n10) then

      begin

      writeln(i);

      exit;

      end;

    end;

    end.

  • 0
    @ 2009-07-17 14:27:35

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

    Accepted 有效得分:100 有效耗时:0ms

    又是一道水题耶O(∩_∩)O哈哈~

    program p1041;

    var i,n1,n2:longint;

    n,p,q:double;

    begin

    readln(p,q);

    for i:=1 to 1000000 do

    begin

    n:=i*p/100; n1:=trunc(n);

    inc(n1);

    n:=i*q/100; n2:=trunc(n);

    if n2=n then dec(n2);

    if (n10) then

    begin

    writeln(i);

    exit;

    end;

    end;

    end.

    但是为什么

    Flag   Accepted

    题号   P1041

    类型(?)   模拟

    通过   4353人

    提交   17184次

    通过率   25%

    难度   1

    通过率只有25%

    害我以为这道题有什么很特别的阴人之处呢..

    一次秒杀 +_+

  • 0
    @ 2009-07-14 22:50:27

    精度问题....

  • 0
    @ 2009-07-09 16:26:53

    program p1041;

    const

    maxn=1000000000;

    var

    p,q:real;

    ans:integer;

    procedure try(a,b:real);

    var

    n,i:integer;

    temp:real;

    bool:boolean;

    begin

    i:=1;

    bool:=false;

    repeat

    inc(i);

    temp:=(q-p)*i;

    if temp

  • 0
    @ 2009-07-08 19:21:52

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

    ├ 测试数据 02:答案错误... ├ 标准行输出

     ├ 错误行输出

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

    ├ 测试数据 04:答案错误...程序输出比正确答案长

    ├ 测试数据 05:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 06:运行时错误...| 错误号: 200 | 被零除

    ├ 测试数据 07:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 08:答案错误...程序输出比正确答案长

    ├ 测试数据 09:答案错误... ├ 标准行输出

     ├ 错误行输出

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

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

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

    ├ 测试数据 02:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 03:答案错误... ├ 标准行输出

     ├ 错误行输出

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

    ├ 测试数据 05:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 06:答案错误... ├ 标准行输出

     ├ 错误行输出

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    ___|\__|\__|__哀怨的分割线___|\__|\__|\__|\__|_

    const m=0.000000001;

    var i:integer;

    a,b:real;

    begin

    read(a,b);

    a:=a/100+m;

    b:=b/100-m;

    i:=1;

    while trunc(i*a)=trunc(i*b) do inc(i);

    write(trunc(i ));

    end.

    ___|\__|\__|\__|\_更哀怨的分割线\__|\__|\__|\__|_

    严重鄙视这该死的精度!!害我WA了两次!!

    我无辜的通过率啊!!

  • 0
    @ 2009-07-07 21:32:57

    莫名其妙的AC了

    注意精度 我开的1e-6不够 到1e-9就AC了 还有就是注意+m,-m的事情 条件的判断上有个+1 穷举选上的人比穷举全部的人要快

    最后要说,楼下的,你超时太严重了!!!

  • 0
    @ 2009-07-04 10:08:01

    为什么?

    为什么一年前AC的程序,

    如今原封不动地交上去,

    结果却是连续三天的Running........................................???

  • 0
    @ 2009-06-24 16:13:23

    减0.00000001我知道为什么,但+0.000000001是为什么?

    举个例子好吗?

  • 0
    @ 2009-06-24 15:31:42

    连分数,P1504弱化版

    var a,b,d:array[1..20] of integer;

    x,y,z:extended;

    al,bl,dl,e,f,g,h,i,t:integer;

    begin

    readln(x,y);

    e:=round(x*100);

    f:=10000;

    g:=round(y*100);

    h:=10000;

    i:=0;

    while (i=0) or (a[i]=b[i]) do begin

    inc(al);

    if e=0 then a[al]:=maxint

    else begin

    t:=e;e:=f;f:=t;

    a[al]:=e div f;

    e:=e mod f;

    end;

    inc(bl);

    if g=0 then b[bl]:=maxint

    else begin

    t:=g;g:=h;h:=t;

    b[bl]:=g div h;

    g:=g mod h;

    end;

    inc(i);

    end;

    if a[i]

  • 0
    @ 2009-06-12 08:57:58

    program p1041;

    //=======================================

    procedure work;

    var q,p,a,b:real;

    n:integer;

    begin

    readln(p,q);

    q:=q/100;

    p:=p/100;

    n:=1;

    repeat

    a:=n/(p+0.0000000000001);

    b:=n/(q-0.0000000000001);

    inc(n);

    until trunc(a)>=trunc(b)+1;

    write(trunc(b)+1);

    end;

    //=====================================

    begin

    work;

    end.

信息

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