题解

188 条题解

  • 0
    @ 2009-07-17 09:06:11

    program dsa;

    var n,s,t:int64;

    z,i,j:integer;

    a:array[1..32] of integer;

    begin

    read(n);

    z:=0;

    repeat

    inc(z);

    a[z]:=n mod 2;

    n:=n div 2;

    until n=0;

    for i:=z+1 to 32 do a[i]:=0;

    for i:=1 to 16 do

    begin

    t:=a[i];

    a[i]:=a[32-i+1];

    a[32-i+1]:=t;

    end;

    for i:=1 to 16 do

    begin

    t:=a[i];

    a[i]:=a;

    a:=t;

    end;

    s:=0;

    for i:=1 to 31 do

    begin

    t:=1;

    for j:=1 to 32-i do t:=t*2;

    s:=s+a[i]*t;

    end;

    if a[32]=1 then write(s+1)

    else write(s);

    end.

    农夫山泉

  • 0
    @ 2009-07-16 15:35:11

    var i:dword;

    begin

    readln(i);

    writeln(swap(i));

    end.

    绝对的秒杀

  • 0
    @ 2009-07-16 10:21:09

    编译通过...

    ├ 测试数据 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-08 14:52:06

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    这种题应该限制代码的长度,弱得受不了,2分钟写完……

    我的代码94字节,五行,还用了 mod 65536啊……

  • 0
    @ 2009-06-28 21:04:02

    为什么,这究竟是为什么!!!

    每次想刷水题加AC率时总比难题还惨!!!

    不过,还是庆祝一颗星满~~~

  • 0
    @ 2009-06-06 22:56:37

    var n:dword;

    begin

    read(n);

    n:=((n shr 16) or (n shl 16));

    write(n);

    end.

    位运算秒杀……

  • 0
    @ 2009-05-26 19:08:14

    编译通过...

    ├ 测试数据 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-04-29 19:07:41

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

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

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

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

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

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

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

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

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

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

    基础啊,int最大值不是2^31...

  • 0
    @ 2009-04-20 16:29:10

    水题才是刷通过率王道!争取刷光vijos上所有水题!

  • 0
    @ 2009-04-18 14:30:21

    program p1201;

    var i,j:longint;

    s,n,s1:int64;

    a:array[1..32]of longint;

    b:array[1..16] of longint;

    begin

    readln(n);i:=1;

    while n0 do

    begin

    a[i]:=n mod 2;

    n:=n div 2;

    inc(i);

    end;

    for i:=1 to 16 do

    begin

    b[i]:=a[i];

    a[i]:=a;

    end;

    for i:=17 to 32 do

    a[i]:=b;

    i:=32;

    for i:=32 downto 1 do if a[i]0 then begin

    s1:=1;

    for j:=1 to i-1

    do s1:=s1*2; s:=s+s1;end;

    write(s);

    end.

  • 0
    @ 2009-03-02 13:41:48

    传说中超级强大的位运算...好硬!!!一句就可以....

  • 0
    @ 2009-02-04 10:00:31

    超强悍的位运算 居然能被我用上

    不晓得啥是shr shl的自己找 ...

    var

    k,s1,s2:dword;

    begin

    read(k);

    s1:=k shr 16;

    s2:=k shl 16;

    write(s1+s2);

    end.

  • 0
    @ 2009-01-16 16:36:16

    var a:dword;

    begin

    readln(a);

    writeln(swap(a));

    end.

    水~~~用swap就可以了

    注意类型是dword!!

    函数题`\

  • 0
    @ 2009-01-15 17:19:10

    编译通过...

    ├ 测试数据 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-01-08 17:42:35

    编译失败...|错误号:1

    Prog67767.pas(1,10) Fatal: Can't find unit objpas used by math

    Fatal: Compilation aborted

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

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

    忘记这里不能用 math 库了

    var n:longint;

    a,b:array[1..32] of 0..1 ;

    i:integer;

    m:int64;

    operator ** (x:integer ; y:integer) z:int64 ;

    var i:integer;

    j:int64;

    begin

    j:=1;

    for i:= 1 to y do

    j:= j * x;

    z:=j;

    end;

    begin

    readln(n);

    i:=0;

    fillchar(a,sizeof(a),0);

    repeat

    inc(i);

    a[33-i]:= n mod 2 ;

    n:= n div 2 ;

    until n = 0 ;

    for i:= 1 to 16 do

    begin

    b[16+i]:=a[i];

    end;

    for i:= 17 to 32 do

    b:=a[i];

    m:=0;

    for i:= 1 to 32 do

    begin

    m:= m + 2 ** ( 32 - i ) * b[i] ;

    end;

    writeln(m);

    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-01-02 19:15:38

    #include

    int main() {

    unsigned long n;

    scanf("%lu",&n);

    printf("%lu",(n&65535)16);

    return 0;

    }

    直接在提交框写 一次AC...

    (看楼下的 似乎不需要&65535...)

  • 0
    @ 2008-11-30 09:47:04

    program Vijos_P1201;

    var

    n,ans:dword;

    begin

    readln(n);

    ans:=n shr 16+n shl 16;

    writeln(ans);

    end.

    注意要用dowrd,第一次用了longint错了。我的正确率……

  • 0
    @ 2008-11-28 23:11:57

    一次AC了= =

    的确有想到位运算……但是不会用TAT

  • 0
    @ 2008-11-22 20:55:59

    编译通过...

    ├ 测试数据 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-03 08:14:40

    #include

    unsigned long n;

    int main()

    {

    scanf("%lu",&n);

    printf("%lu\n",((n16)));

    return 0;

    }

信息

ID
1201
难度
3
分类
模拟 点击显示
标签
(无)
递交数
3713
已通过
1828
通过率
49%
被复制
13
上传者