回 帖 发 新 帖 刷新版面

主题:本人跪求高手解答

请各位高手帮忙想想这道题怎么做?
    1  3  4  10  11
    2  5  9  12  19
    6  8  13 18  20
    7  14 17 21  24
    15 16 22 23  25
  N行N列
  我8月20号比赛,帮忙啦![em4][em5]

回复列表 (共16个回复)

11 楼

大家都做过了
该轮到我哆嗦几句了
(第10楼的结果好像不太合题意喔)

input n
if n>25 then system
cls : xx=1 : yy=-3 : y=4
for i=1 to n*n
  x=x+xx : y=y+yy
  if x<1 or x>n or y<1 or y>n*3 then xx=-xx : yy=-yy
  if x>n then x=n : y=y+yy+yy
  if y>n*3 then y=n*3-2 : x=x+xx+xx
  if x<1 then x=1
  if y<1 then y=1
  locate x,y
  print using "###";i;
next

为了显得比你们简洁,我用了很多冒号,这是不对的,这种行径希望大家要戒.

12 楼

我再倒回来看看你们写出来的程序,
第10楼写得不对,可能是没有检查过,
zqnhlm 写得很有意思,
让我研究了大半天才弄明白.
嗯,写得很好,很不错!
继续努力学习其他语句的技巧.

13 楼

谢谢各位高手,我也自己编出来了这道题,程序是:
CLS
INPUT n
DIM a(100, 100)
s = 1
i = 1
j = 1
bj = 1
DO
DO WHILE j <= bj AND a(i, j) = 0
   a(i, j) = s
   i = i - 1
   j = j + 1
   s = s + 1
LOOP
i = i + 1
bj = bj + 1
DO WHILE i <= bj AND a(i, j) = 0
   a(i, j) = s
   s = s + 1
   i = i + 1
   j = j - 1
LOOP
j = j + 1
bj = bj + 1
LOOP UNTIL s > n * n
FOR i = 1 TO n
  FOR j = 1 TO n + 1 - i
    a(n + 1 - i, n + 1 - j) = n * n + 1 - a(i, j)
  NEXT j
NEXT i
FOR i = 1 TO n
  FOR j = 1 TO n
    PRINT USING "####"; a(i, j);
  NEXT j
  PRINT
NEXT i
END

14 楼

建议:请在标题中具体、明确点明主题,最好不用“小菜问题”、“跪求”之类的模糊标题。

15 楼

跪求表示了重要性呀!!

16 楼

CLS
a=1:b=1:t=1:x=1:y=-1:f=1:e=0
INPUT n
DIM s(n+1,n+1)
FOR i=1 to n*2-1
    IF i<n THEN h=i ELSE h=2*n-i
       FOR j=1 to h
          s(a,b)=t
          a=a+x:b=b+y
          t=t+1
       NEXT j
a=a-x:b=b-y
SWAP x,y
IF i=n THEN SWAP e,f
SWAP e,f
a=a+e:b=b+f
NEXT i
FOR i=1 to n
   FOR j=1 to n
      PRINT USING "###";s(i,j);
   NEXT j
PRINT
NEXT i
END

我来回复

您尚未登录,请登录后再回复。点此登录或注册