题解

53 条题解

  • 0
    @ 2009-08-04 23:06:35

    托{行}小牛的福,AC了。。。。

    超短。。。

    晒一晒。。

    =======================晒程序========================

    var

    n,ans:longint;

    begin

    readln(n);

    while n>0 do begin

    inc(ans,(n+1) shr 1);

    n:=n shr 2;

    end;

    writeln(ans);

    end.

    刚刚好十行。。。。。。

    暴汗⊙﹏⊙b汗。。。。。。。。。。。。

  • 0
    @ 2009-08-04 12:29:52

    var

    n,mid,sum:longint;

    begin

    read(n);

    sum:=0;

    while n0 do

    begin

    if odd(n) then mid:=(n+1) div 2

    else mid:=(n+1) div 2+1;

    sum:=sum+(n-mid+1);

    if odd(mid) then n:=mid div 2

    else n:=mid div 2-1;

    end;

    writeln(sum);

    end.

  • 0
    @ 2009-07-30 18:16:58

    本来这题没什么好写的,

    但是还是要庆祝ac的第100题

  • 0
    @ 2009-06-27 11:42:13

    编译通过...

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

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

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

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

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

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

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

    秒杀。。。

    同楼下的。。。

    先取奇数,然后就把N div 4

    until n = 0

    祝大家全Ac

  • 0
    @ 2009-05-28 22:08:47

    编译通过...

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

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

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

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

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

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

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

    #include "stdio.h"

    int work(int x)

    {

    if(x==0) return 0;

    else

    return (x+1)/2+work(x/4);

    }

    int main()

    {

    int n;

    scanf("%d",&n);

    printf("%d",work(n));

    return 0;

    }

  • 0
    @ 2009-03-15 18:25:54

    贪心……没来及证明……不过对了!

    {——————————————————————————————}

    编译通过...

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

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

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

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

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

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

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

    var

    n,mid,sum:longint;

    begin

    read(n);

    sum:=0;

    while n0 do

    begin

    if odd(n) then mid:=(n+1) div 2

    else mid:=(n+1) div 2+1;

    sum:=sum+(n-mid+1);

    if odd(mid) then n:=mid div 2

    else n:=mid div 2-1;

    end;

    writeln(sum);

    end.

  • 0
    @ 2009-02-28 20:23:51

    贡献一下代码,下面的为何不见了

    program p1385;

    Var

    n:longint;

    function calc(x:longint):longint;

    begin

    if x=0 then exit(0);

    calc:=(x+1) div 2+calc(x div 4);

    end;

    Begin

    readln(n);

    writeln(calc(n));

    End.

  • 0
    @ 2009-02-13 23:24:08

    编译通过...

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

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

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

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

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

    水....

    主程序就4行..

    总共才写10行...

  • 0
    @ 2009-02-04 00:02:32

    楼下的BLACKSNOW,你多测两次,运气好就不会超时了

  • 0
    @ 2008-12-31 21:34:26

    编译通过...

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

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

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

    ├ 测试数据 04:运行超时...

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

    汗,只过4组.....

  • 0
    @ 2008-12-10 15:42:52

    大牛们好强!

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

    要用LONGINT!!!!!

  • 0
    @ 2008-11-03 10:12:01

    啊,不小心写错了个字母,我的ac率啊

  • 0
    @ 2008-10-11 18:37:18

    编译通过...

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

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

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

    ├ 测试数据 04:运行超时...

    ├ 测试数据 05:运行超时...

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

    Unaccepted 有效得分:60 有效耗时:0ms

    设bool直接算超时.....

    不过貌似本人的思路和楼下的不同啊.....

  • 0
    @ 2008-09-26 15:51:30

    贪心~~~~~

  • 0
    @ 2008-09-21 19:50:43

    f(n)=(n+1) div 2+f(n div 2 div 2)

    f(0)=0

  • 0
    @ 2008-08-24 17:35:47

    大牛们我有一个问题想不明白:“B中元素数目最大值”什么意思?

    DFS的

    51..100 :50个

    13..25 :13个

    3..5   :3个

    1    :1个

    是指什么呢?

    这题的思路又是怎样?

    大牛们请指教

  • 0
    @ 2008-08-23 08:39:25

    弱弱地回答:不能!!!

  • 0
    @ 2008-08-22 08:57:40

    感谢各位大牛!!!

    我一次AC了!!!

  • 0
    @ 2008-08-10 12:53:19

    弱弱问一句,可以设布尔数组么

信息

ID
1385
难度
2
分类
数论 点击显示
标签
递交数
1002
已通过
579
通过率
58%
被复制
4
上传者