查看: 4146|回复: 3

[易语言源码]任意字母的【排列】【组合】

[复制链接]

[易语言源码]任意字母的【排列】【组合】[复制链接]

wen7029639 发表于 2022-8-15 05:50:04 [显示全部楼层] 回复:  3 浏览:  4146

IGTA.jpg


[易语言源码]说明:
【排列原理】

比如abc的组合类型  abc   acb  bac  bca  cab  cba.

分析: 我们当然可以写三个嵌套的for循环去取,但是如果是abcd的组合呢? 还要修改代码添加一层for。 那如果是n个字母呢? 你又要手动添加多少层for呢?

所以需要一个忽视字母个数的实现。我们知道多层for(每次for里面的处理还类似)那么可以升华成递归调用。这里我们用递归解决。

以abc为例

(第一层递归里)     取a, 给第二层传bc进去(同时告诉第二层,截止第一层字符串组合是a)

          (第二层递归里) 取b,给第三层传c进去(同事告诉第三层,截止第二层字符串组合出的是ab)

                     (第三层递归里) 取c。 发现这一层只有一个c可以取,那么在第二层字符串组合里面加入c,return。 ---->此时完成一种排列组合: abc

(第一层递归里)     取a, 给第二层传bc进去(同时告诉第二层,截止第一层字符串组合是a)

          (第二层递归里) 取c,给第三层传b进去(同事告诉第三层,截止第二层字符串组合出的是ac)

                     (第三层递归里) 取b。 发现这一层只有一个b可以取,那么在第二层字符串组合里面加入b,return。 ---->此时完成一种排列组合: acb

(第一层递归里)     取b, 给第二层传ac进去(同时告诉第二层,截止第一层字符串组合是b)

          (第二层递归里) 取a,给第三层传c进去(同事告诉第三层,截止第二层字符串组合出的是ba)

                     (第三层递归里) 取c。 发现这一层只有一个c可以取,那么在第二层字符串组合里面加入c,return。 ---->此时完成一种排列组合:bac

【组合】效率会低,但够用


[易语言源码]下载:
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

提取码:e4a8 
下载次数:1    状态:您未购买  售价:6金粒
下载权限: 新手上路  以上或 赞助会员   [赞助获得会员]   [赞助获得金粒]  [免费赚金粒]



本站版权声明及免责声明1,本文内容仅代表作者本人观点,不代表本网站立场,作者文责自负!
(本站资源仅供学习研究,请勿非法使用,否则后果自负!请下载后24小时内删除!)
2,本文内容及相关资源来源于网络,版权归版权方所有!本站原创内容版权归本站所有,请勿转载!
3、本文内容,包括但不限于E4A软件、学习教程、E4A源码、图片等,仅供参考使用!
(本站不对其安全性,正确性等作出保证。但本站会尽量审核用户发表的内容!)
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,并且本站管理员和版主有权不事先通知发贴者而删除本文。
6、如您认为本文内容侵犯了您的权益,请与我们联系!我们将在5个工作日内做出处理!本站保留全部修改、解释、更新本声明的权利。E4A源码网站
7、本站资源大多存储在云盘,如发现链接失效,可以点帖子右下角的举报进行反馈,我们会第一时间更新。

回复

使用道具 举报

0

主题

30

帖子

86

积分

注册会员

Rank: 2

积分
86
山有扶苏 发表于 2022-8-15 05:50:05 显示全部楼层
楼主~楼主~你可以教我E4A吗?
回复 支持 反对

使用道具 举报

0

主题

36

帖子

106

积分

注册会员

Rank: 2

积分
106
凌天 发表于 2022-8-15 05:56:40 显示全部楼层
LZ帖子不给力,勉强给回复下吧
回复 支持 反对

使用道具 举报

0

主题

41

帖子

119

积分

注册会员

Rank: 2

积分
119
知海无涯 发表于 2022-8-15 06:07:18 显示全部楼层
小白一个 顶一下
回复 支持 反对

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1
QQ