首页 > 试题广场 >

var n, i, j, x, y, nx, ny :

[填空题]
var
  n, i, j, x, y, nx, ny : longint;
  a : array[0..40, 0..40] of longint;
begin
  for i := 0 to 39 do
    for j := 0 to 39 do
      a[i][j] := 0;
  read(n);
  y := 0;
  x := n - 1;
  n := 2 * n - 1;
  for i := 1 to n * n do
  begin
    a[y][x] := i;
    ny := (y - 1 + n) mod n;
    nx := (x + 1) mod n;
    if ((y = 0) and (x = n - 1)) or (a[ny][nx] <> 0) then
      y := y + 1
    else begin
      y := ny;
      x := nx;
    end;
  end;
  for j := 0 to n - 1 do
    write(a[0][j], ' ');
  writeln;
end.

输入:3
输出:1

这道题你会答吗?花几分钟告诉大家答案吧!