黑马程序员技术交流社区
标题:
【分享】C经典算法之m元素集合的n个元素子集
[打印本页]
作者:
cruzer
时间:
2015-1-25 22:06
标题:
【分享】C经典算法之m元素集合的n个元素子集
m元素集合的n个元素子集
#include <stdio.h>
#include <stdlib.h>
#define MAX 20
int main(void) {
int set[MAX];
int m, n, position;
int i;
printf("输入集合个数 m:");
scanf("%d", &m);
printf("输入取出元素 n:");
scanf("%d", &n);
for(i = 0; i < n; i++)
set[i] = i + 1;
// 显示第一个集合
for(i = 0; i < n; i++)
printf("%d ", set[i]);
putchar('\n');
position = n - 1;
while(1) {
if(set[n-1] == m)
position--;
else
position = n - 1;
set[position]++;
// 调整右边元素
for(i = position + 1; i < n; i++)
set[i] = set[i-1] + 1;
for(i = 0; i < n; i++)
printf("%d ", set[i]);
putchar('\n');
if(set[0] >= m - n + 1)
break;
}
return 0;
}
复制代码
作者:
类自通
时间:
2015-1-25 23:10
你都水了33贴了。。。。。
作者:
cruzer
时间:
2015-1-25 23:11
类自通 发表于 2015-1-25 23:10
你都水了33贴了。。。。。
{:3_49:} 最近水的有点多啊 。。。
作者:
qlqt
时间:
2015-1-25 23:19
果然水了很多
作者:
cruzer
时间:
2015-1-25 23:21
qlqt 发表于 2015-1-25 23:19
果然水了很多
{:3_49:}。。。。。。。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2