TC官方合作论坛

 找回密码
 立即注册
查看: 1652|回复: 13

[已解决] 组合不重复

[复制链接]
发表于 2016-2-25 11:01:14 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
etupadgkcb

有限的字母中, 组合出3个不重复字母, 组合到不能组合为止
如:
有限的字母中etu
开始组合:
eut
teu
tue
uet
ute
回复

使用道具 举报

发表于 2016-2-25 16:16:14 | 显示全部楼层
两层对于长字符串有时遍历不完全,牺牲点效率吧
遍历(变量 a = 0; a < 长度; a++)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2016-2-25 11:28:53 | 显示全部楼层
这属于排列组合问题
回复 支持 反对

使用道具 举报

发表于 2016-2-25 12:01:43 | 显示全部楼层
我试试写了一下,还是能实现的,就是根据值的长度,然后取的个数(如3个),匹配后结果总共有多少个,这个公式忘记了,原谅我数学没学好。
回复 支持 反对

使用道具 举报

发表于 2016-2-25 15:28:24 | 显示全部楼层

功能 按钮0_点击()
    变量 结果=数组()
    结果=组合不重复("etu")
   
    变量 大小=数组大小(结果)
    遍历(变量 i = 0; i < 大小; i++)
        调试输出(结果[i])
    结束
结束
功能 组合不重复(字符串)
    变量 临时,大小,标记=真,返回数组=数组()
    变量 字符串数组=数组()
    变量 长度=字符串长度(字符串)
    遍历(变量 i = 0; i < 长度; i++)
        字符串数组[i]=字符串截取(字符串,i,i+1)
    结束
   
    遍历(变量 i = 0; i < 长度; i++)
        遍历(变量 j = 0; j < 长度; j++)
            遍历(变量 k = 0; k < 长度; k++)
                临时=临时&字符串数组[k]
            结束
            大小=数组大小(返回数组)
            遍历(变量 l = 0; l < 大小; l++)
                如果(返回数组[l]==临时)
                    标记=假
                结束
            结束
            如果(标记)
                返回数组[大小]=临时
            结束
            临时=字符串数组[i]
            字符串数组[i]=字符串数组[j]
            字符串数组[j]=临时
            标记=真
            临时=""
        结束
    结束
   
    返回 返回数组
结束

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-2-25 15:36:09 | 显示全部楼层
言术 发表于 2016-2-25 15:28
功能 按钮0_点击()
    变量 结果=数组()
    结果=组合不重复("etu")

输出>>"etu"        
输出>>"teu"      
输出>>"uet"      
输出>>"eut"        
输出>>"ute"

少1个tue啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-2-25 15:47:58 | 显示全部楼层
言术 发表于 2016-2-25 15:28
功能 按钮0_点击()
    变量 结果=数组()
    结果=组合不重复("etu")

结果=组合不重复("etupadgkcb")
试了一下结果超过3个字母组合了
回复 支持 反对

使用道具 举报

发表于 2016-2-25 16:03:19 | 显示全部楼层
cjxdn 发表于 2016-2-25 15:47
结果=组合不重复("etupadgkcb")
试了一下结果超过3个字母组合了

几个字母组合都可以,至于你说少一个,我没注意,看差不多就发上来了,现在我又套了层遍历,也算交差了,你可以自己慢慢优化。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2016-2-25 23:35:25 | 显示全部楼层
回复

使用道具 举报

发表于 2016-3-2 08:47:49 | 显示全部楼层
学习一下!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-9-28 13:55 , Processed in 0.047902 second(s), 24 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表