题解

151 条题解

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

    var i,j,m,bak,k:longint;

    begin

    readln(m);

    bak:=m;

    i:=1;

    j:=0;

    repeat

    j:=j+i;

    i:=i+4;

    until j >= m ;

    i:=i-4;

    j:=j-i;

    m:=m-j;

    if m = m ;

    i:=i-4;

    j:=j-i;

    m:=m-j;

    if m

  • 0
    @ 2009-07-23 02:02:51

    对于X行Y列

    上的数

    就是X/Y

    while n>i do

    begin

    n:=n-i;

    inc(i);

    end;

    因此只要定位出第N项的坐标位置

    先求出第N项是第几斜行的第几个数

    奇数斜行从左下往右上

    x:=x-1;

    y:=y+1;

    偶数斜行从右上往左下

    x:=x+1;

    y:=y-1;

    注意奇偶的预处理、

  • 0
    @ 2009-07-22 21:39:28

    var i,m:longint;

    begin

    readln(m);

    i:=0;

    while m>0 do

    begin

      inc(i);

      m:=m-i;

    end;

    m:=m+i;

    // dec(i);

    if i mod 2=0 then

    write(m,'/',i-m+1)

    else write(i-m+1,'/',m);

    end.

  • 0
    @ 2009-07-21 10:27:41

    var

    a,b:longint;

    begin

    readln(a);

    b:=1;

    while a-b>0 do

    begin

    a:=a-b;

    b:=b+1;

    end;

    if b mod 2=0 then

    write(a,'/',b+1-a)

    else write(b+1-a,'/',a);

    end.

  • 0
    @ 2009-07-21 08:51:06

    var

    a,b:longint;

    begin

    readln(a);

    b:=1;

    while a-b>0 do

    begin

    a:=a-b;

    b:=b+1;

    end;

    if b mod 2=0 then

    write(a,'/',b+1-a)

    else write(b+1-a,'/',a);

    end.

  • 0
    @ 2009-07-19 15:23:21

    水题.

    var n,i,j,k,p,s:longint;

    t:boolean;

    begin

    readln(n);

    i:=1; t:=true;

    while t do

    begin

    s:=0;

    for j:=1 to i do s:=s+j;

    if n

  • 0
    @ 2009-07-18 00:26:38

    编译通过...

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

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

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

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

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

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

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

    var i,m:longint;

    begin

    readln(m);

    i:=0;

    while m>0 do

    begin

    inc(i);

    m:=m-i;

    end;

    m:=m+i;

    // dec(i);

    if i mod 2=0 then

    write(m,'/',i-m+1)

    else write(i-m+1,'/',m);

    end.

  • 0
    @ 2009-07-16 16:28:19

    编译通过...

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

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

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

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

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

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

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

    program ex;

    var a:array[1..10000,1..10000] of longint;

    n,j,i,x:longint;

    begin

    readln(n);

    i:=1;j:=1;x:=1;a:=x;

    while xn do begin

    if (i=1) and (nx) then begin

    if j mod 20 then begin

    j:=j+1;

    x:=x+1;

    a:=x;

    while (j>1) and (xn) do

    begin

    j:=j-1;

    i:=i+1;

    x:=x+1;

    a:=x;

    end;

    end;

    end;

    if (j=1) and (nx) then begin

    if i mod 2=0 then begin

    i:=i+1;

    x:=x+1;

    a:=x;

    while (i>1) and (xn) do

    begin

    i:=i-1;

    j:=j+1;

    x:=x+1;

    a:=x;

    end;

    end;

    end;end;

    writeln(i,'/',j);

    end.

  • 0
    @ 2009-07-15 17:23:50

    program dsa;

    var n,x,y,i:longint;

    f:boolean;

    begin

    read(n);

    f:=true;

    x:=1;y:=1;

    for i:=2 to n do

    begin

    if f=true then

    begin

    if x=1 then

    begin

    y:=y+1;

    f:=false;

    end

    else

    begin

    dec(x);

    inc(y);

    end;

    end

    else if f=false then

    begin

    if y=1 then

    begin

    x:=x+1;

    f:=true;

    end

    else

    begin

    inc(x);

    dec(y);

    end;

    end;

    end;

    write(x,'/',y);

    end.

    农夫山泉

  • 0
    @ 2009-06-24 21:06:28

    var

    i,j,n,m,sum:longint;

    begin

    sum:=0;

    readln(n);m:=1;

    while sum+m

  • 0
    @ 2009-06-24 20:58:10

    var

    num,n,i:longint;

    begin

    readln(n);

    num:=0;

    i:=1;

    while num

  • 0
    @ 2009-06-20 20:27:37

    water

  • 0
    @ 2009-05-21 23:23:15

    编译通过...

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

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

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

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

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

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

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

    #include

    using namespace std;

    int main()

    {

    int k,t = 0,m,n,i;

    cin>>k;

    for(i=1; t

  • 0
    @ 2009-05-05 12:45:48

    var i,j,m,n:longint;

    begin

    readln(n);

    i:=0; j:=0;

    while j

  • 0
    @ 2009-04-30 22:09:16

    题目虽水,解题可不能水。

    按照题意做说不定会超时,反正我没有那么做。

    最好从左上起把表斜向地分成一层一层的。

    每次判断一层,看n是否在该层内,再精确到具体的位置——效率相当高。

    不过这个过程有很多细节的处理要注意哦,自己想想吧。

  • 0
    @ 2009-04-20 21:08:18

    program zk;

    var

    i,j,x,y,n:int64;

    k:integer;

    begin

    read(n);

    i:=0; y:=0;

    if n=1 then begin write('1/1'); halt; end;

    while n-i-1>0 do

    begin i:=i+1; n:=n-i; end;

    i:=i+1;

    if i mod 2 =0

    then writeln(n,'/',i-n+1)

    else writeln(i-n+1,'/',n);

    end.

  • 0
    @ 2009-04-09 20:40:15

    范围别弄太大拉....

    偶一开始

    弄100000.一个超时,90分;

    50000,又超,90分,

    30000,还超,90分,

    10000,一个没过,一个335ms,90分;

    爆无语.........

    结果,想了一下,10100,终于过拉,100分,不过我的AC率.........

  • 0
    @ 2009-04-07 14:03:11

    其实我还理解成了

    1 3 6 10

    2 5 9

    4 8

    7

    谢天谢地,样例是7,保全了我的ac rate啊

  • 0
    @ 2009-04-06 15:24:52

    编译通过...

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

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

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

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

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

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

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

    太简单了

    program p1333;

    var a,i:longint;

    begin

    read(a);

    i:=1;

    while i

  • 0
    @ 2009-06-20 17:14:31

    #include "stdio.h"

    main()

    { long n,s=0,s1=0,a,b,t;

    int i,j,k;

    scanf("%d",&n);

    for(i=1;;i++)

    { s+=i;

      if(s>=n)

       break;

    }

    if(i%2==0)

       {for(k=1;k

信息

ID
1333
难度
3
分类
数论 点击显示
标签
递交数
3683
已通过
1961
通过率
53%
被复制
20
上传者