易语言穷举法借书方案

易语言使用穷举算法完成借书方案的设计。
使用算法:穷举法
问题:借书方案
问题描述:
小明有五本新书,要借给A,B,C三位小朋友,若每人每次只能借一本,则可以有多少种不同的借法?
(对五本书进行编号,分别为1,2,3,4,5)问题分析:
问题分析:
本问题实际上是一个排列问题,即求从5个中取3个进行排列的方法的总数。
首先对五本书从1至5进行编号,然后使用穷举的方法。
假设三个人分别借这五本书中的一本,当三个人所借的书的编号都不相同时,就是满足题意的一种借阅方法。
通过上面规律可以推导出结果。

执行方案

界面放置一个超级列表框完成所有方案的显示。

.版本 2
.支持库 iext
 
.子程序 _计算图形按钮_被单击
.局部变量 方案个数, 整数型
.局部变量 循环变量1, 整数型, , , 循环变量,也用于代表第一个小朋友的借书情况
.局部变量 循环变量2, 整数型, , , 循环变量,也用于代表第二个小朋友的借书情况
.局部变量 循环变量3, 整数型, , , 循环变量,也用于代表第三个小朋友的借书情况
.局部变量 表项位置, 整数型, , , 存放插入的表项的位置
 
方案个数 = 0
' 假设对五本书进行编号,分别为1,2,3,4,5
.变量循环首 (1, 5, 1, 循环变量1)  ' 列出第一个小朋友借5本书中的1本的全部情况
    .变量循环首 (1, 5, 1, 循环变量2)  ' 列出第二个小朋友借5本书中的1本的全部情况
        ' 当前两个小朋友借不同的书时,列出第三个小朋友借5本书中的1本的全部情况
        .如果真 (循环变量1 ≠ 循环变量2)
            .变量循环首 (1, 5, 1, 循环变量3)
                .如果真 (循环变量3 ≠ 循环变量1 且 循环变量3 ≠ 循环变量2)
                    ' 找到一个方案,那么方案数加1
                    方案个数 = 方案个数 + 1
                    ' 显示找到的方案
                    表项位置 = 显示结果列表框.插入表项 (, , , , , )
                    显示结果列表框.置标题 (表项位置, 0, “方案” + 到文本 (方案个数))
                    显示结果列表框.置标题 (表项位置, 1, 到文本 (循环变量1))
                    显示结果列表框.置标题 (表项位置, 2, 到文本 (循环变量2))
                    显示结果列表框.置标题 (表项位置, 3, 到文本 (循环变量3))
                .如果真结束
 
            .变量循环尾 ()
        .如果真结束
 
    .变量循环尾 ()
.变量循环尾 ()
' 显示方案总数
方案数目编辑框.内容 = 到文本 (方案个数)

分享到:

用微信扫一扫,分享给朋友


发布日期:

所属分类: 编程 标签: