zoukankan      html  css  js  c++  java
  • 列出所有K个元素的子集2013年1月26日

          问题描述:列出一个集合的元素个数为k的所有子集。

          思路:在字典顺序列出所有子集的基础上判断元素个数就可以了,比较简单。代码如下:

     1 #include <stdio.h>
     2 #define MAX  1000
     3 
     4 int main()
     5 {
     6     int n=5;
     7     int set[MAX]={1};
     8     int index=0;
     9     int count=2;
    10     int k=3;
    11     while(set[0]!=n)
    12     {
    13         if(set[index]<n)  
    14         {   
    15             set[index+1]=set[index]+1;
    16             index++;
    17         }
    18         else
    19         {
    20             index--; 
    21             set[index]++;
    22         }
    23         int a_index;
    24         count++;
    25         if(index==k-1)
    26         {
    27             printf("%d:{",count);
    28             for(a_index=0;a_index<=index;a_index++)
    29                 printf("%d ",set[a_index]);
    30             printf("}\n");
    31         }
    32     }
    33     return 0;
    34 }

           参考资料:《C语言名题精选百则技巧篇》

           如果你觉得我的文章对你有帮助,请推荐一下,非常感谢!

  • 相关阅读:
    [HAOI2008]糖果传递
    LGTB 与大数
    LGTB 与序列
    poj1160 Post Office
    组队
    [JLOI2015]装备购买
    三元组
    乘法表
    [BZOJ3730]震波
    [Luogu3345][ZJOI2015]幻想乡战略游戏
  • 原文地址:https://www.cnblogs.com/NeilHappy/p/2877527.html
Copyright © 2011-2022 走看看