主题:T形
金子和银子
[专家分:10] 发布于 2007-11-09 16:09:00
【58】排T字形
将数字1,2,3,…9排成一个T字形,使得横竖排的数之和相等。如下图:
4 5 1 6 7
2
3
8
9
同时认为,在横排或竖排中只要数字相同而不管位置如何都认为是相同的排列。
如:4 5 1 6 7 与 5 4 1 7 6 是相同的。
程序要求:求出所有不同满足条件的T字形排列种数,
并根据给定的N(N指该T字形交叉点上的数值)输出所有满足条件的T字形排列。
回复列表 (共4个回复)
沙发
金子和银子 [专家分:10] 发布于 2007-11-09 16:14:00
cls
print using "###";4;
print using "###";5;
print using "###";1;
print using "###";6;
print using "###";7
print using "###";2
print using "###";3
print using "###";8
print using "###";9
板凳
QB小猪 [专家分:1200] 发布于 2007-11-09 18:14:00
连题号都发上啦..............
程序:
CLS
INPUT N
IF N MOD 2 = 0 THEN PRINT "DATA WRONG!": END
FOR A = 1 TO 6
FOR B = A + 1 TO 7
FOR C = B + 1 TO 8
FOR D = C + 1 TO 9
IF A = N OR B = N OR C = N OR D = N THEN 10
IF A + B + C + D <> (45 - N) / 2 THEN 10
PRINT A; B; N; C; D
FOR I = 1 TO 9
IF I <> A AND I <> B AND I <> C AND I <> D AND I <> N THEN PRINT TAB(7); I
NEXT I: S = S + 1
10 NEXT D, C, B, A
PRINT "S="; S
END
对的哦...........
3 楼
我的电脑 [专家分:990] 发布于 2007-11-15 18:12:00
CLS
INPUT N
IF N MOD 2 = 0 THEN PRINT "DATA WRONG!": END
FOR A = 1 TO 6
FOR B = A + 1 TO 7
FOR C = B + 1 TO 8
FOR D = C + 1 TO 9
IF A = N OR B = N OR C = N OR D = N THEN 10
IF A + B + C + D <> (45 - N) / 2 THEN 10
PRINT A; B; N; C; D
FOR I = 1 TO 9
IF I <> A AND I <> B AND I <> C AND I <> D AND I <> N THEN PRINT TAB(7); I
NEXT I: S = S + 1
10 NEXT D, C, B, A
PRINT "S="; S
END
4 楼
小精灵1号 [专家分:1040] 发布于 2007-11-23 16:30:00
CLS
INPUT N
FOR A = 1 TO 6
FOR B = A + 1 TO 7
FOR C = B + 1 TO 8
FOR D = C + 1 TO 9
IF A = N OR B = N OR C = N OR D = N THEN 10
IF A + B + C + D <> (45 - N) / 2 THEN 10
PRINT A; B; N; C; D
FOR I = 1 TO 9
IF I <> A AND I <> B AND I <> C AND I <> D AND I <> N THEN PRINT TAB(7); I
NEXT I: S = S + 1
10 NEXT D, C, B, A
PRINT S
END
我来回复