程 序 源 代 码


解排列与组合问题
    说明:本程序根据排列与组合的计算公式编写。程序运行后根据需要选择需要的项目,并按提示输入从n个元素中取m个数据的排列或组合。程序将自动的出正确结果。
 
 
5 CLS : PRINT "            PR023:解排列与组合问题": PRINT
10 PRINT "  请选择:"
20 PRINT "    1. 排列;"
30 PRINT "    2. 组合;"
40 PRINT "    3. 退出."
50 INPUT "    选择:", a
60 IF a = 3 THEN END
70 IF a <> 1 AND a <> 2 AND a <> 3 THEN 50
80 IF a = 1 THEN PRINT "  设: p 为从n个不同元素中取m个的所有排列的个数."
90 IF a = 2 THEN PRINT "  设: c 为从n个不同元素中取m个的所有组合的个数."
100 INPUT "  输入 n=", n
110 IF n < 0 OR n <> INT(n) THEN PRINT "  输入错误:": GOTO 100
120 INPUT "  输入 m=", m
130 IF m > n OR m < 0 OR m <> INT(m) THEN PRINT "  输入错误!": GOTO 120
140 GOSUB 200
150 IF a = 1 THEN PRINT "p="; b#
160 IF a = 2 THEN PRINT "c="; b# / d#
170 INPUT "  是否继续? (Y/N)", y$
180 IF y$ = "Y" OR y$ = "y" THEN 10
190 END
200 b# = 1
210 FOR i = n TO (n - m + 1) STEP -1
220 b# = b# * i
230 NEXT
240 d# = 1
250 FOR i = 1 TO m
260 d# = d# * i
270 NEXT
280 RETURN
290 END

<下一个>