社区
C语言
帖子详情
关于排列组合方面的问题
kinglonghr
2004-05-08 03:10:57
如何用C语言实现p(M,N)排列 M个数中取N个排序。
C(M,N)组合M个数中取N个组合。
请大家指教谢谢了
...全文
52
4
打赏
收藏
关于排列组合方面的问题
如何用C语言实现p(M,N)排列 M个数中取N个排序。 C(M,N)组合M个数中取N个组合。 请大家指教谢谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cngdzhang
2004-05-08
打赏
举报
回复
给个例子
#include <stdio.h>
/*10选4*/
#define MAXLEN 4
#define CHARACTER 10
char buf[MAXLEN+1];
char ch[CHARACTER];
int total;
void makep(int n) /*排列*/
{
int i;
if(n==MAXLEN)
{
buf[n]='\0';
printf("%s\n",buf);
total++;
}
else
{
for(i=0;i<CHARACTER;i++)
{
if(ch[i]==1) continue;
buf[n]=i+'A';
ch[i]=1;
makep(n+1);
ch[i]=0;
}
}
}
void makec(int s,int n) /*组合*/
{
int i;
if(n==MAXLEN)
{
buf[n]='\0';
printf("%s\n",buf);
total++;
}
else
{
for(i=s;i<CHARACTER;i++)
{
if(ch[i]==1) continue;
buf[n]=i+'A';
ch[i]=1;
makec(i+1,n+1);
ch[i]=0;
}
}
}
void main()
{
int i;
for(i=0;i<CHARACTER;i++)
{
ch[i]=0;
}
total=0;
makep(0);
printf("total=%d\n",total);
for(i=0;i<CHARACTER;i++)
{
ch[i]=0;
}
total=0;
makec(0,0);
printf("total=%d\n",total);
}
zhouqingyuan
2004-05-08
打赏
举报
回复
下面是求排列和组合的,
#include <iostream.h>
void combination(int a[],int size,int n,int b[],int r,int m)
{
if(m==r)
{
for(int i=0;i<m;i++)
cout<<b[i]<<' ';
cout<<endl;
return;
}
else
{
for(int j=n;j<size;j++)
{
b[m]=a[j];
combination(a,size,j+1,b,r,m+1);
}
}
}
void permutation(int a[],int size,int b[],int r,int m,int flag[])
{
if(m==r)
{
for(int i=0;i<m;i++)
cout<<b[i]<<' ';
cout<<endl;
return;
}
else
{
for(int j=0;j<size;j++)
{
if(flag[j]==0)
{
b[m]=a[j];
flag[j]=1;
permutation(a,size,b,r,m+1,flag);
flag[j]=0;
}
}
}
}
void main(void)
{
int a[5]={1,2,3,4,5};
int b[3];
int flag[5]={0};
combination(a,5,0,b,3,0);
permutation(a,5,b,3,0,flag);
}
熊主任
2004-05-08
打赏
举报
回复
找本组合数学的书看看,什么邻位对换法,很多的。
kbsoft
2004-05-08
打赏
举报
回复
http://search.csdn.net/expert/topic/56/5601/2002/5/12/715322.xml
算法分析视频课程:9篇系列讲座
算法分析视频讲座涵盖分析算法的基础知识,包括解析组合学,是所有程序员都应当认真学习的。在这套视频中,我们首先讲解递推、生成函数和...之后讨论树、排列、字符串、字典树、单词和映射,以及这些算法的广泛应用。
排列组合
- Java代码实现
最近发现求
排列组合
在大公司的笔试算法题中经常作为比较重要的一步出现,所以写篇文章好好整理一下。 首先,回顾一下高中知识。。。
排列组合
的公式。 接下来对排列、组合分别给出 Java 代码的实现,而且每个部分...
排列组合
概率题解题技巧
下面是小编为大家整理的关于
排列组合
概率题解题技巧,希望对您有所帮助。欢迎大家阅读参考学习!
排列组合
概率题解题技巧 1.排列、组合、概率与错位公式 2.
排列组合
概率解题思路——分类法 3.例题1:繁琐的计算导致...
小白学算法:DFS
排列组合
问题
准备: ...4.以图的遍历讲解组合排列的求解 排列
问题
:给定一个含有n个元素的数表,从中选定k个数,可以构成多少种排列 输出每种排列 和总的排列 数,每个数三个场宽。 上代码: 在这里插入代码片...
Python:实现
排列组合
生成器(完整源代码)
排列组合
是一种重要的算法,在计算机领域有着广泛的应用,比如在密码学、信息压缩和文本处理等
方面
。Python 是一种易于学习的编程语言,其强大的标准库提供了许多内置函数来更方便地实现各种算法及应用,包括排列...
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章