主题:关于字母排列问题
davis2020
[专家分:0] 发布于 2010-07-07 17:44:00
字母排列:
编程求出给定英文字母中前N个字母的无重复排列数P(P<10),例如:
N=3时,即表示给定的字母为ABC,就有ABC,ACB,BAC,BCA,CAB,CAB这六种满足
题意的排列,即P=6.
一定要输出排列后的情况
回复列表 (共3个回复)
沙发
alweeq86 [专家分:1170] 发布于 2010-07-08 19:01:00
全排列的问题 网上很多代码 我也写了一个 有点问题
我写的是C++ 还在修改 写好了再想办法给你改成QBasic
板凳
davis2020 [专家分:0] 发布于 2010-07-08 21:02:00
太谢谢你了!这个论坛高手很多啊。以后我就不用发愁了:)呵呵~~
3 楼
davis2020 [专家分:0] 发布于 2010-07-09 10:31:00
我已经做出来,欢迎您批评指正:
CLS
INPUT m
FOR i = 1 TO m
p(i) = i
NEXT i
DO
FOR i = 1 TO m
PRINT CHR$(p(i) + 64);
NEXT i
PRINT " ";
i = m
DO
IF i = 0 THEN END
p(i) = p(i) + 1: f = -1
IF p(i) > m THEN p(i) = 1: i = i - 1: f = 0
IF f THEN
FOR j = 1 TO m - 1
FOR k = j + 1 TO m
IF p(j) = p(k) THEN i = m: f = 0
NEXT k
NEXT j
END IF
LOOP UNTIL f
LOOP
END
我来回复