| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2180 人关注过本帖
标题:[求助]求排列组合
只看楼主 加入收藏
shensheng4
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2005-8-7
收藏
 问题点数:0 回复次数:12 
[求助]求排列组合

简单点说就是有 n 个字母,求这n个的所有排列情况
如果从中挑出m个字母,求所有的组合情况

搜索更多相关主题的帖子: 排列 
2006-06-28 21:36
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
回复:(shensheng4)[求助]求排列组合
以下是引用shensheng4在2006-6-28 21:36:41的发言:

简单点说就是有 n 个字母,求这n个的所有排列情况
如果从中挑出m个字母,求所有的组合情况

不能束手无策,坐等他人帮忙。请拿出自己的初步想法来。


落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-28 21:40
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
// 互异元素的全排列
// 元素个数应为常数
// 此法不搞递归调用
// 注意输出是无序的
#include<stdio.h>
void rot(char *s)
{
char chr=*s,*p=s+1;
while(*p)*s++=*p++;
*s=chr;
}
main()
{ char s[]="12345678";
int a,b,c,d,e,f,g;
for(a=0;a<8;a++,rot(s+0))
for(b=0;b<7;b++,rot(s+1))
for(c=0;c<6;c++,rot(s+2))
for(d=0;d<5;d++,rot(s+3))
for(e=0;e<4;e++,rot(s+4))
for(f=0;f<3;f++,rot(s+5))
for(g=0;g<2;g++,rot(s+6))
printf("%-10s",s);
}

//此例再加少量指令可解“八皇后”
//但愿楼主看了以后能够举一反三

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-29 05:34
shensheng4
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2005-8-7
收藏
得分:0 
先谢谢三楼的提示。
可能我没说清楚,这个题是要求任意个字符的排列组合问题。
我和另两个朋友讨论过,仍没有合适的解法。

三楼的朋友,
您的那个方法一个致命的思路错误就是使用了多重循环,
对于个数不确定n个字符,是不可能用多重循环实现的。

我看过八皇后问题。
八重循环的方法是最普通,且没价值的做法。
我看到过两个方法都是用回溯法作的,一个是递归回溯,一个是循环回溯。

这个题不适合用递归,我想用循环回溯。
只用一个雏形,没有完整的实现。

梦想是不可能实现的,正因为如此才值得我们去追寻。 这是我选择的路,即使付出一切,我也毫无怨言。
2006-06-29 09:11
shensheng4
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2005-8-7
收藏
得分:0 
顺便说一下。
我用C编程已有两年了,不能是很强,但可以说不是什么新手了。

就这个问题而言,是我最近想过的,纯粹是一时兴起,希望和大家探讨一下。
也许有人认为太简单。但是请高手能否拿出一个无可挑剔的程序。
供大家研究。

最起码我会感谢您的。也希望大家能不吝笔墨,留下一些思路想法,大家一起探讨。

如果我实现后,我会发出完整程序,到时还希望各位能多审核我的程序。

梦想是不可能实现的,正因为如此才值得我们去追寻。 这是我选择的路,即使付出一切,我也毫无怨言。
2006-06-29 09:16
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
回复:(shensheng4)顺便说一下。我用C编程已有两年了...
介绍你认识一位大姐姐,名叫“季节的开始”,高手牛人哟。

她定有高招。老弟不妨发一短信与她?


落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-29 09:21
季节的开始
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-4-7
收藏
得分:0 
偶又不是斑竹.找偶干嘛

This is me~!
2006-06-29 09:22
shensheng4
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2005-8-7
收藏
得分:0 

美女说到就到啊
请高手指点一下这个题好吗


梦想是不可能实现的,正因为如此才值得我们去追寻。 这是我选择的路,即使付出一切,我也毫无怨言。
2006-06-29 09:25
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
回复:(季节的开始)偶又不是斑竹.找偶干嘛[em02]
以下是引用季节的开始在2006-6-29 9:22:30的发言:
偶又不是斑竹.找偶干嘛

俺这个斑竹一掐一包水,嫰了点,涩嘴不好吃。
还是吃大姐姐做的肉包子有味道。
否则就只好吃大娘水饺了。


落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-29 09:32
shensheng4
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2005-8-7
收藏
得分:0 
呵呵..................
你俩很熟吗?
那顺便拉我一把,让这位高手露露本事。
好不?

梦想是不可能实现的,正因为如此才值得我们去追寻。 这是我选择的路,即使付出一切,我也毫无怨言。
2006-06-29 09:39
快速回复:[求助]求排列组合
数据加载中...
 
   



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

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