主题:螺旋直角等腰三角形
QB阿呆
[专家分:0] 发布于 2007-08-30 09:42:00
n=5时:
1
2 12
3 13 11
4 14 15 10
5 6 7 8 9
回复列表 (共3个回复)
沙发
QB爱好者 [专家分:370] 发布于 2007-08-30 09:51:00
简直是送分!
CLS
INPUT "N=",N
I=1
J=1
FX=1
FOR K=1 TO (1+N)*N/2
A(I,J)=K
IF FX=1 THEN I=I+1
IF FX=2 THEN J=J+1
IF FX=3 THEN I=I-1:J=J-1
F=0
IF I>N OR J>N THEN
F=1
ELSEIF A(I,J)<>0 THEN
F=1
ENDIF
IF F=1 THEN
IF FX=1 THEN I=I-1
IF FX=2 THEN J=J-1
IF FX=3 THEN I=I+1:J=J+1
FX=FX MOD 3+1
IF FX=1 THEN I=I+1
IF FX=2 THEN J=J+1
IF FX=3 THEN I=I-1:J=J-1
ENDIF
NEXT I
FOR I=1 TO N
FOR J=1 TO I
PRINT USING"#";A(I,J);
NEXT J
PRINT
NEXT I
END
板凳
QB阿呆 [专家分:0] 发布于 2007-08-30 09:54:00
谢谢啊!
3 楼
Matodied [专家分:7560] 发布于 2007-08-30 14:27:00
这还简单?
CLS
INPUT n: t = 0
FOR j = 1 TO n: t = t + j: NEXT j
DIM a(n, n): x = 1: y = 1: s = 1: k = n: m = 0: a(x, y) = s
IF n = 1 THEN 1
DO
k = k - 1
FOR i = 1 TO k
s = s + 1: x = x + 1: a(x, y) = s
IF s = t THEN 1
NEXT i
IF m THEN k = k - 1
FOR i = 1 TO k
s = s + 1: y = y + 1: a(x, y) = s
IF s = t THEN 1
NEXT i
k = k - 1
FOR i = 1 TO k
s = s + 1: x = x - 1: y = y - 1: a(x, y) = s
IF s = t THEN 1
NEXT i
m = 1
LOOP
1 FOR i = 1 TO n: FOR j = 1 TO n
IF i >= j THEN PRINT USING "####"; a(i, j);
NEXT j: PRINT : NEXT i: END
我来回复