CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  专题开发/技术/项目 >  数据结构与算法

求——排列组合中,求各种组合方式的——算法!!!

楼主s7110110(铁)2001-11-19 11:57:20 在 专题开发/技术/项目 / 数据结构与算法 提问

例如A、B、C中选两个出来就有有三种组合方式:AB、AC、BC。现在我想要一个能在五个数中选出各种组合方式的算法,请各位赐教!! 问题点数:28、回复次数:4Top

1 楼frman()回复于 2001-11-19 12:39:27 得分 0

比如你想在5个数中选3个数,那可以设一数组a[3],初始化为a[3]   =   {1,2,3};//   表示5个数中选1,2,3这三个数。   然后对数组最后一个元素做加1运算,注意进位,并时刻保持a[i]<a[i+1],   且a[2]   <=   5,直到a[3]   ={3,4,5};就可以求出全部组合数  
  例:  
  {1,2,3}  
  {1,2,4}  
  {1,2,5}  
  {1,3,4}  
  {1,3,5}  
  {1,4,5}  
  {2,3,4}  
  {2,3,5}  
  {2,4,5}  
  {3,4,5}  
   
  Top

2 楼s7110110(铁)回复于 2001-11-19 13:11:46 得分 0

谢谢你的赐教!但是小弟还是不太明白,你说的进位是指什么?而且那么多条件,流程该如何控制。能不能请您写出流程图?Top

3 楼frman()回复于 2001-11-19 13:27:49 得分 28

给你个程序吧:  
   
  #include   <stdio.H>  
   
  int   n,   m;  
   
  int   change(int   *a)  
  {  
  int   i,   j   ,k   =   0;  
  for   (   i   =   m-1;   i   >=   0;   i--)  
  {  
  if   (   a[i]   <   n-k   )  
  {  
  a[i]++;  
  for   (   j   =   i+1;   j   <   m;   j++)  
  a[j]   =   a[i]+j-i;  
  return   1;  
  }  
  k++;  
  }  
  return   0;  
  }  
   
  void   main()  
  {  
  int   a[10],   i;  
  printf("input   N   M:");     //表示N个数中选M个数的组合  
  scanf("%d%d",   &n,&m);  
  for   (   i   =   0;   i   <   m;   i++)  
  a[i]   =   i+1;  
  do  
  {  
  for   (   i   =   0;   i   <   m;   i++)  
  printf("%d   ",   a[i]);  
  printf("\n");  
  }   while   (   change(a));  
  }  
   
  Top

4 楼s7110110(铁)回复于 2001-11-19 14:20:59 得分 0

感谢你的指教!Top

相关问题

  • 求排列组合算法
  • 谁有排列组合的算法???急!!!
  • 排列组合的算法问题
  • 请教一个排列组合算法
  • 排列组合算法求解
  • 一个排列组合的算法
  • 排列的算法?不是组合的算法!!!请问
  • 算法问题!高分求一排列组合算法。(100分)
  • 请教关于排列组合的算法
  • 求算法怎么得到排列组合的具体数组

关键词

  • 算法
  • 组合
  • 个数
  • 数组
  • 组合方式

得分解答快速导航

  • 帖主:s7110110
  • frman

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo