回 帖 发 新 帖 刷新版面

主题:关于字母排列问题

字母排列:
           编程求出给定英文字母中前N个字母的无重复排列数P(P<10),例如:
N=3时,即表示给定的字母为ABC,就有ABC,ACB,BAC,BCA,CAB,CAB这六种满足
题意的排列,即P=6.
一定要输出排列后的情况

回复列表 (共3个回复)

沙发

全排列的问题 网上很多代码   我也写了一个 有点问题 
我写的是C++ 还在修改 写好了再想办法给你改成QBasic

板凳

太谢谢你了!这个论坛高手很多啊。以后我就不用发愁了:)呵呵~~

3 楼


我已经做出来,欢迎您批评指正:
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

我来回复

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