标题:输入一字母系列如:A B C D E,从中任意选两个字母用括号将它们括起来。
只看楼主
丢了幸福
Rank: 2
等 级:论坛游民
帖 子:44
专家分:10
注 册:2010-7-24
结帖率:100%
已结贴  问题点数:30 回复次数:21 
输入一字母系列如:A B C D E,从中任意选两个字母用括号将它们括起来。
1.    输入一字母系列如:A B C D E,从中任意选两个字母用括号将它们括起来。后从这两个字母的左边或者右边再挑选一个字母,用括号将它们括起来……直到所有字母都用括号括起来为止。打印出所有打括号的方法,并统计出数量。(30分)例如
输入:ABCD
    (((AB)C)D)
    ((A(BC))D)
    (A((BC)D))
    (A(B(CD)))
搜索更多相关主题的帖子: 括号 字母 输入 
2010-08-20 11:24
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
得分:0 
完全二叉树
2010-08-20 11:29
丢了幸福
Rank: 2
等 级:论坛游民
帖 子:44
专家分:10
注 册:2010-7-24
得分:0 
回复 2楼 hahayezhe
还没学列!能换别的方法么?比如递归?链表?
2010-08-20 15:55
okayyyy
Rank: 2
等 级:论坛游民
威 望:2
帖 子:102
专家分:70
注 册:2010-6-15
得分:5 
加法原理 + 乘法原理能实现
取N个数进行全排列
序列总数=n!

[ 本帖最后由 okayyyy 于 2010-8-21 02:14 编辑 ]
2010-08-20 21:55
丢了幸福
Rank: 2
等 级:论坛游民
帖 子:44
专家分:10
注 册:2010-7-24
得分:0 
回复 4楼 okayyyy
能否给个详细的代码?
2010-08-21 09:49
okayyyy
Rank: 2
等 级:论坛游民
威 望:2
帖 子:102
专家分:70
注 册:2010-6-15
得分:0 
你可以参考  离散数学 排列与组合小节的内容 上面有图说明算法
  
2010-08-21 21:49
jack10141
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:陕西西安
等 级:小飞侠
威 望:6
帖 子:706
专家分:2271
注 册:2010-8-10
得分:5 
以下是引用丢了幸福在2010-8-20 11:24:48的发言:

1.    输入一字母系列如:A B C D E,从中任意选两个字母用括号将它们括起来。后从这两个字母的左边或者右边再挑选一个字母,用括号将它们括起来……直到所有字母都用括号括起来为止。打印出所有打括号的方法,并统计出数量。(30分)例如
输入:ABCD
    (((AB)C)D)
    ((A(BC))D)
    (A((BC)D))
    (A(B(CD)))
数量是字母个数n减去1的阶乘,即(n-1)!

Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧
2010-08-21 22:18
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
得分:5 
以下是引用jack10141在2010-8-21 22:18:29的发言:

数量是字母个数n减去1的阶乘,即(n-1)!
错,是2的n-2次方,御坂正经地回答道

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-08-21 22:20
jack10141
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:陕西西安
等 级:小飞侠
威 望:6
帖 子:706
专家分:2271
注 册:2010-8-10
得分:0 
以下是引用御坂美琴在2010-8-21 22:20:17的发言:

错,是2的n-2次方,御坂正经地回答道
是呀!是我搞错了!你的答案应该是正确的!!

Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧
2010-08-21 22:55
jack10141
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:陕西西安
等 级:小飞侠
威 望:6
帖 子:706
专家分:2271
注 册:2010-8-10
得分:0 
以下是引用丢了幸福在2010-8-20 11:24:48的发言:

1.    输入一字母系列如:A B C D E,从中任意选两个字母用括号将它们括起来。后从这两个字母的左边或者右边再挑选一个字母,用括号将它们括起来……直到所有字母都用括号括起来为止。打印出所有打括号的方法,并统计出数量。(30分)例如
输入:ABCD
    (((AB)C)D)  00
    ((A(BC))D)  01
    (A((BC)D))  10
    (A(B(CD)))  11
无论字母数量n是几,每一种打括弧的方法与0至2^(n-2)之间的所有2进制数可以建立一一对应关系 所以结果的数量是2^(n-2)

Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧
2010-08-21 23:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-316307-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.391647 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved