m个元素的n元素子集(c/python略)
来源:互联网 发布:超市自动播音软件 编辑:程序博客网 时间:2024/05/16 06:28
解法
假设有5个元素的集点,取出3个元素的可能子集如下:
{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}
这些子集已经使用字典顺序排列,如此才可以观察出一些规则:
如果最右一个元素小于m,则如同码表一样的不断加 1
如果右边一位已至最大值,则加1的位置往左移
每次加1的位置往左移后,必须重新调整右边的元素为递减顺序
c代码
#include<stdio.h>#include<stdlib.h>#define N 10int main(){ int m, n; printf("输入集合个数:"); scanf_s("%d", &m); printf("输入取出元素个数:"); scanf_s("%d", &n); int num[N]; int i; for (i = 0; i < n; i++) { num[i] = i + 1; } for (i = 0; i < n; i++) printf("%d", num[i]); printf("\n"); int position = n - 1; while (1) { if (num[n - 1] == m) position--; else position = n - 1; num[position]++; for (i = position; i < n-1; i++) { num[i + 1] = num[i] + 1; } for (i = 0; i < n; i++) { printf("%d", num[i]); } printf("\n"); if (num[0] == m - n + 1) break; } system("pause"); return 0;}
阅读全文
0 0
- m个元素的n元素子集(c/python略)
- 求m个元素集合中n个元素的所有子集(C/OC)
- m 元素集合的n 个元素子集
- 18 m 元素集合的 n 个元素子集
- Algorithm Gossip: m元素集合的n个元素子集
- N个元素集合的M子集问题
- m个元素的集合取n个元素的子集
- 每日一算法:m元素集合的n个元素子集
- k个元素的子集 C(n,k)
- m元素集合的n個元素子集
- 求集合中M个元素构成的子集问题
- n个元素求m个最大的元素
- 使用递归函数,输出n个元素的所有子集
- 使用递归函数,输出n个元素的所有子集
- 非递归求n个元素的所有子集
- C++递归求解N个元素的所有子集
- m个元素的数组,随机选择n个不重复元素(js实现)
- 给定正整数n和m,计算出n个元素的集合{1,2,...,n}可以划分为多少个不同的由m个元素组成的子集合
- 一个程序员6年的浏览器收藏夹
- ThreadPoolExecutor线程池参数设置技巧
- how to generate pb file from ckpt files?
- C++ 利用set为vector数组去重
- 微信公众号授权的一些坑
- m个元素的n元素子集(c/python略)
- 关于已知在某进制中存在乘法等式成立求该进制为几进制
- 「后台之路第1篇」Ubuntu上利用Eclipse搭建第一个Servlet工程
- 算法竞赛入门经典邻接表
- SQL语句——聚合函数、分组、子查询及组合查询
- QSplitter类:分割窗口类
- 迁移ECS云服务器
- 解决springMVC不能访问.html文件
- sizeof与strlen的区别