当前位置: 首页 > news >正文

组合数(2)获取C(n,k)组合数列表的QT实现

1)工程文件

QT = coreCONFIG += c++17 cmdline# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0SOURCES += \main.cpp# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

2)主程序

#include <QCoreApplication>
#include <vector>
#include <iostream>using namespace std;
const int N = 10;
const int K = 5;vector<vector<int>> getCombinationvector(int nums[],int ncount)
{vector<vector<int>> retvv = vector<vector<int>>();retvv.push_back(vector<int>());for (int n=0; n<ncount; n++) {int size = retvv.size();for (int i = 0; i < size; i++) {vector<int> newSub = vector<int>(retvv[i]);newSub.push_back(n);retvv.push_back(newSub);}}return retvv;
}void showCombinationvector( vector<vector<int>> va )
{std::cout << "C(" << N <<"," << K <<") = " << va.size() << "\n";std::cout << "[ \n";for (int var = 0; var < va.size(); ++var) {std::cout << "  [ ";for(int j=0; j< va[var].size();j++){std::cout << va[var][j] << " ";}std::cout << "]\n";}std::cout << "]\n";
}vector<vector<int>> getCombineNK(int n, int k) {vector<int> nums = vector<int>();for(int i = 1; i < k + 1; ++i)nums.push_back(i);nums.push_back(n + 1);vector<vector<int>> retvv = vector<vector<int>>();int j = 0;while (j < k) {retvv.push_back(vector<int>(nums.begin(), nums.begin() + k));j = 0;while ((j < k) && (nums[j + 1] == nums[j] + 1)){nums[j] = j + 1;j++;}nums[j] ++ ;}return retvv;
}int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);int test[] = {1,2,3,4,5};//vector<vector<int>> va = getCombinationvector(test, 5);vector<vector<int>> va = getCombineNK(10, 5);showCombinationvector(va);return a.exec();
}

3)运行结果

C(10,5) = 252

  [ 1 2 3 4 5 ]
  [ 1 2 3 4 6 ]
  [ 1 2 3 5 6 ]
  [ 1 2 4 5 6 ]
  [ 1 3 4 5 6 ]
  [ 2 3 4 5 6 ]
  [ 1 2 3 4 7 ]
  [ 1 2 3 5 7 ]
  [ 1 2 4 5 7 ]
  [ 1 3 4 5 7 ]
  [ 2 3 4 5 7 ]
  [ 1 2 3 6 7 ]
  [ 1 2 4 6 7 ]
  [ 1 3 4 6 7 ]
  [ 2 3 4 6 7 ]
  [ 1 2 5 6 7 ]
  [ 1 3 5 6 7 ]
  [ 2 3 5 6 7 ]
  [ 1 4 5 6 7 ]
  [ 2 4 5 6 7 ]
  [ 3 4 5 6 7 ]
  [ 1 2 3 4 8 ]
  [ 1 2 3 5 8 ]
  [ 1 2 4 5 8 ]
  [ 1 3 4 5 8 ]
  [ 2 3 4 5 8 ]
  [ 1 2 3 6 8 ]
  [ 1 2 4 6 8 ]
  [ 1 3 4 6 8 ]
  [ 2 3 4 6 8 ]
  [ 1 2 5 6 8 ]
  [ 1 3 5 6 8 ]
  [ 2 3 5 6 8 ]
  [ 1 4 5 6 8 ]
  [ 2 45 6 8 ]
  [ 3 4 5 6 8 ]
  [ 1 2 3 7 8 ]
  [ 1 2 4 7 8 ]
  [ 1 3 4 7 8 ]
  [ 2 3 4 7 8 ]
  [ 1 2 5 7 8 ]
  [ 1 3 5 7 8 ]
  [ 2 3 5 7 8 ]
  [ 1 4 5 7 8 ]
  [ 2 4 5 7 8 ]
  [ 3 4 5 7 8 ]
  [ 1 2 6 7 8 ]
  [ 1 3 6 7 8 ]
  [ 2 3 6 7 8 ]
  [ 1 4 6 7 8 ]
  [ 2 4 6 7 8 ]
  [ 3 4 6 7 8 ]
  [ 1 5 6 7 8 ]
  [ 2 5 6 7 8 ]
  [ 3 5 6 7 8 ]
  [ 4 5 6 7 8 ]
  [ 1 2 3 4 9 ]
  [ 1 2 3 5 9 ]
  [ 1 2 4 5 9 ]
  [ 1 3 4 5 9 ]
  [ 2 3 4 5 9 ]
  [ 1 2 3 6 9 ]
  [ 1 2 4 6 9 ]
  [ 1 3 4 6 9 ]
  [ 2 3 4 6 9 ]
  [ 1 2 5 6 9 ]
  [ 1 3 5 6 9 ]
  [ 2 3 5 6 9 ]
  [ 1 4 5 6 9 ]
  [ 2 4 5 6 9 ]
  [ 3 4 5 6 9 ]
  [ 1 2 3 7 9 ]
  [ 1 2 4 7 9 ]
  [ 1 3 4 7 9 ]
  [ 2 3 4 7 9 ]
  [ 1 2 5 7 9 ]
  [ 1 3 5 7 9 ]
  [ 2 3 5 7 9 ]
  [ 1 4 5 7 9 ]
  [ 2 4 5 7 9 ]
  [ 3 4 5 7 9 ]
  [ 1 2 6 7 9 ]
  [ 1 3 6 7 9 ]
  [ 2 3 6 7 9 ]
  [ 1 4 6 7 9 ]
  [ 2 4 6 7 9 ]
  [ 3 4 6 7 9 ]
  [ 1 5 6 7 9 ]
  [ 2 5 6 7 9 ]
  [ 3 5 6 7 9 ]
  [ 4 5 6 7 9 ]
  [ 1 2 3 8 9 ]
  [ 1 2 4 8 9 ]
  [ 1 3 4 8 9 ]
  [ 2 3 4 8 9 ]
  [ 1 2 5 8 9 ]
  [ 1 3 5 8 9 ]
  [ 2 3 5 8 9 ]
  [ 1 4 5 8 9 ]
  [ 2 45 8 9 ]
  [ 3 4 5 8 9 ]
  [ 1 2 6 8 9 ]
  [ 1 3 6 8 9 ]
  [ 2 3 6 8 9 ]
  [ 1 4 6 8 9 ]
  [ 2 4 6 8 9 ]
  [ 3 4 6 8 9 ]
  [ 1 5 6 8 9 ]
  [ 2 5 6 8 9 ]
  [ 3 5 6 8 9 ]
  [ 4 5 6 8 9 ]
  [ 1 2 7 8 9 ]
  [ 1 3 7 8 9 ]
  [ 2 3 7 8 9 ]
  [ 1 4 7 8 9 ]
  [ 2 4 7 8 9 ]
  [ 3 4 7 8 9 ]
  [ 1 5 7 8 9 ]
  [ 2 5 7 8 9 ]
  [ 3 5 7 8 9 ]
  [ 4 5 7 8 9 ]
  [ 1 6 7 8 9 ]
  [ 2 6 7 8 9 ]
  [ 3 6 7 8 9 ]
  [ 4 6 7 8 9 ]
  [ 5 6 7 8 9 ]
  [ 1 2 3 4 10 ]
  [ 1 2 3 5 10 ]
  [ 1 2 4 5 10 ]
  [ 1 3 4 5 10 ]
  [ 2 3 4 5 10 ]
  [ 1 2 3 6 10 ]
  [ 1 2 4 6 10 ]
  [ 1 3 4 6 10 ]
  [ 2 3 4 6 10 ]
  [ 1 2 5 6 10 ]
  [ 1 3 5 6 10 ]
  [ 2 3 5 6 10 ]
  [ 1 4 5 6 10 ]
  [ 2 4 5 6 10 ]
  [ 3 4 5 6 10 ]
  [ 1 2 3 7 10 ]
  [ 1 2 4 7 10 ]
  [ 1 3 4 7 10 ]
  [ 2 3 4 7 10 ]
  [ 1 2 5 7 10 ]
  [ 1 3 5 7 10 ]
  [ 2 3 5 7 10 ]
  [ 1 4 5 7 10 ]
  [ 2 4 5 7 10 ]
  [ 3 4 5 7 10 ]
  [ 1 2 6 7 10 ]
  [ 1 3 6 7 10 ]
  [ 2 3 6 7 10 ]
  [ 1 4 6 7 10 ]
  [ 2 4 6 7 10 ]
  [ 3 4 6 7 10 ]
  [ 1 5 6 7 10 ]
  [ 2 5 6 7 10 ]
  [ 3 5 6 7 10 ]
  [ 4 5 6 7 10 ]
  [ 1 2 3 8 10 ]
  [ 1 2 4 8 10 ]
  [ 1 3 4 8 10 ]
  [ 2 3 4 8 10 ]
  [ 1 2 5 8 10 ]
  [ 1 3 5 8 10 ]
  [ 2 3 5 8 10 ]
  [ 1 4 5 8 10 ]
  [ 2 4 5 8 10 ]
  [ 3 4 5 8 10 ]
  [ 1 2 6 8 10 ]
  [ 1 3 6 8 10 ]
  [ 2 3 6 8 10 ]
  [ 1 4 6 8 10 ]
  [ 2 4 6 8 10 ]
  [ 3 4 6 8 10 ]
  [ 1 5 6 8 10 ]
  [ 2 5 6 8 10 ]
  [ 3 5 6 8 10 ]
  [ 4 5 6 8 10 ]
  [ 1 2 7 8 10 ]
  [ 1 3 7 8 10 ]
  [ 2 3 7 8 10 ]
  [ 1 4 7 8 10 ]
  [ 2 4 7 8 10 ]
  [ 3 4 7 8 10 ]
  [ 1 5 7 8 10 ]
  [ 2 5 7 8 10 ]
  [ 3 5 7 8 10 ]
  [ 4 5 7 8 10 ]
  [ 1 6 7 8 10 ]
  [ 2 6 7 8 10 ]
  [ 3 6 7 8 10 ]
  [ 4 6 7 8 10 ]
  [ 2 6 8 9 10 ]
  [ 3 6 8 9 10 ]
  [ 4 6 8 9 10 ]
  [ 5 6 8 9 10 ]
  [ 1 7 8 9 10 ]
  [ 2 7 8 9 10 ]
  [ 3 7 8 9 10 ]
  [ 4 7 8 9 10 ]
  [ 5 7 8 9 10 ]
  [ 6 7 8 9 10 ]
]

相关文章:

组合数(2)获取C(n,k)组合数列表的QT实现

1)工程文件 QT coreCONFIG c17 cmdline# You can make your code fail to compile if it uses deprecated APIs. # In order to do so, uncomment the following line. #DEFINES QT_DISABLE_DEPRECATED_BEFORE0x060000 # disables all the APIs deprecated before Qt 6.…...

SparkCore编程RDD

RDD概述 中文名为弹性分布式数据集&#xff0c;是数据处理基本单位。代表一个弹性的&#xff0c;不可变&#xff0c;可分区&#xff0c;里面的数据可并行计算的集合。 RDD和Hadoop MR 的区别&#xff1a; RDD是先明确数据处理流程&#xff0c;数据在行动算子执行前实际上并未…...

VBA技术资料MF69:添加和删除工作表中的分页符

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。我的教程一共九套&#xff0c;分为初级、中级、高级三大部分。是对VBA的系统讲解&#xff0c;从简单的入门&#xff0c;到…...

数字技术助力智慧公厕,让公厕变身为全新创新应用

在如今数字化的时代&#xff0c;数字技术的集成应用已经渗透到了生活的方方面面。其中一个令人瞩目的领域就是智慧公厕。以前只是简单的厕所&#xff0c;如今借助数字技术的力量&#xff0c;智慧公厕变得功能强大、智能高效。接下来&#xff0c;我们将以智慧公厕源头领航厂家广…...

electron 升级 v22 遇到问题

Electron 漏洞 https://mp.weixin.qq.com/s/5LpSJb_5uV8EIDOl3fz9Tw 由于 23以上不在支持win 7 8 8.1 所以我选择安装 v22.3.24 electron 22.3.24 node-sass 6.0.1 sass-loader 10.4.1 对应的版本 npm i node-sass6.0.1 --sass_binary_sitehttps://npm.taobao.org/mirrors…...

跟我学c++中级篇——Pimpl

一、前向声明 前向声明或者前置声明(forward declaration)&#xff0c;这个在c中用得还是比较多的。一般的框架或者库中&#xff0c;经常可以看到在一个类的前面声明了一个类&#xff0c;类似下面这样&#xff1a; class useclass; class mycall{...useclass *us; };前向声明…...

[补题记录] Atcoder Beginner Contest 295(E)

URL&#xff1a;https://atcoder.jp/contests/abc295 目录 E Problem/题意 Thought/思路 Code/代码 E Problem/题意 给定长度为 N 的数组 A。进行如下操作&#xff1a; 若 Ai 0&#xff0c;将 Ai 等概率地变为 1 ~ M 中的任意一个数&#xff1b;对 A 排序&#xff1b; …...

解决git在window11操作很慢,占用很大cpu的问题

【git在window11操作很慢&#xff0c;占用很大cpu&#xff0c;最后也执行失败】 在谷歌输入&#xff1a;git very slow in window 11。通过下面链接终于找到了解决方案&#xff1a; https://www.reddit.com/r/vscode/comments/sulebx/slow_git_in_wsl_after_updating_to_window…...

C++智能指针(二)——weak_ptr初探

文章目录 1. shared_ptr 存在的问题2. 使用weak_ptr2.1 初始化 weak_ptr2.2 访问数据 3. 附录4. 参考文献 1. shared_ptr 存在的问题 与 shared_ptr 的引入要解决普通指针存在的一些问题一样&#xff0c;weak_ptr 的引入&#xff0c;也是因为 shared_ptr 本身在某些情况下&…...

540 - Team Queue (UVA)

题目链接如下&#xff1a; Online Judge 对比刘汝佳的代码&#xff0c;我没有用queue来排整个队伍&#xff0c;因为那样的话遍历整个队伍太麻烦&#xff0c;vector比较方便。但vector删除元素比较耗时&#xff0c;所以就不删了&#xff0c;仅仅用pivot来指代目前队伍的开始。…...

投资组合之如何估值

文章目录 如何估值一、PE估值法1、PE估值法的定义2、参考标准&#xff08;1&#xff09;常规标准&#xff1a;25倍合理市盈率。&#xff08;2&#xff09;同行业对比。&#xff08;3&#xff09;跟历史市盈率相比。 3、PE估值法的适用范围4、PE估值法的优势5、PE估值法的劣势&a…...

2024届通信工程保研经验分享(预推免入营即offer)

2024届通信工程保研经验分享&#xff08;预推免入营即offer&#xff09; BackGround夏令营情况&#xff1a;预推免情况&#xff1a; BackGround 本科院校&#xff1a;末九 专业&#xff1a;通信工程 rank&#xff1a;3/123&#xff08;预推免绩点排名&#xff09;&#xff0…...

L2-025 分而治之 - java

L2-025 分而治之 时间限制 600 ms 内存限制 64 MB 题目描述&#xff1a; 分而治之&#xff0c;各个击破是兵家常用的策略之一。在战争中&#xff0c;我们希望首先攻下敌方的部分城市&#xff0c;使其剩余的城市变成孤立无援&#xff0c;然后再分头各个击破。为此参谋部提供了若…...

Python+高光谱数据预处理-机器学习-深度学习-图像分类-参数回归

涵盖高光谱遥感数据处理的基础、python开发基础、机器学习和应用实践。重点解释高光谱数据处理所涉及的基本概念和理论&#xff0c;旨在帮助学员深入理解科学原理。结合Python编程工具&#xff0c;专注于解决高光谱数据读取、数据预处理、高光谱数据机器学习等技术难题&#xf…...

免费 AI 编程助手 Amazon CodeWhisperer 体验

文章作者&#xff1a;文章作者&#xff1a;米菲爸爸 2022 年 6 月 23 亚马逊云科技就已经推出了 Amazon CodeWhisperer&#xff08;预览版&#xff09;。经过不到一年的测试和 AIGC的飓风在 2023 年 4 月 18 日实时 AI 编程助手 Amazon CodeWhisperer正式可用 Amazon CodeWhis…...

【Linux】从零开始学习Linux基本指令(一)

&#x1f6a9;纸上得来终觉浅&#xff0c; 绝知此事要躬行。 &#x1f31f;主页&#xff1a;June-Frost &#x1f680;专栏&#xff1a;Linux入门 &#x1f525;该文章主要了解Linux操作系统下的基本指令。 目录&#xff1a; ⌛️指令的理解⏳目录和文件的理解⏳一些常见指令✉…...

Java GC 算法

一、概述 理解Java虚拟机垃圾回收机制的底层原理&#xff0c;是成为一个高级Java开发者的基本功。本文从底层的垃圾回收算法开始&#xff0c;着重去阐释不同垃圾回收器在算法设计和实现时的一些技术细节&#xff0c;去探索「why」这一部分&#xff0c;通过对比不同的垃圾回收算…...

vue3 v-html中使用v-viewer

安装&#xff1a;npm install v-viewernext 在main.js中配置 import “viewerjs/dist/viewer.css”; import Viewer from “v-viewer”; app.use(Viewer, { Options: { inline: true, //默认值&#xff1a;false。启用内联模式。 button: true, //在查看器的右上角显示按钮。 …...

Leetcode算法解析——查找总价格为目标值的两个商品

1. 题目链接&#xff1a;LCR 179. 查找总价格为目标值的两个商品 2. 题目描述&#xff1a; 商品价格按照升序记录于数组 price。请在购物车中找到两个商品的价格总和刚好是 target。若存在多种情况&#xff0c;返回任一结果即可。 示例 1&#xff1a; 输入&#xff1a;price …...

unity游戏开发引擎unity3D开发

Unity&#xff08;也被称为Unity3D&#xff09;是一款强大的跨平台游戏引擎&#xff0c;用于开发2D和3D游戏&#xff0c;以及其他交互式应用程序。以下是Unity游戏开发的一般步骤&#xff1a; 安装和设置Unity&#xff1a; 首先&#xff0c;您需要下载并安装Unity。确保选择适…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中&#xff0c;时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志&#xff0c;到供应链系统的物流节点时间戳&#xff0c;时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库&#xff0c;其日期时间类型的…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

C#学习第29天:表达式树(Expression Trees)

目录 什么是表达式树&#xff1f; 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持&#xff1a; 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...

Go语言多线程问题

打印零与奇偶数&#xff08;leetcode 1116&#xff09; 方法1&#xff1a;使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...

windows系统MySQL安装文档

概览&#xff1a;本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容&#xff0c;为学习者提供全面的操作指导。关键要点包括&#xff1a; 解压 &#xff1a;下载完成后解压压缩包&#xff0c;得到MySQL 8.…...

AD学习(3)

1 PCB封装元素组成及简单的PCB封装创建 封装的组成部分&#xff1a; &#xff08;1&#xff09;PCB焊盘&#xff1a;表层的铜 &#xff0c;top层的铜 &#xff08;2&#xff09;管脚序号&#xff1a;用来关联原理图中的管脚的序号&#xff0c;原理图的序号需要和PCB封装一一…...

RushDB开源程序 是现代应用程序和 AI 的即时数据库。建立在 Neo4j 之上

一、软件介绍 文末提供程序和源码下载 RushDB 改变了您处理图形数据的方式 — 不需要 Schema&#xff0c;不需要复杂的查询&#xff0c;只需推送数据即可。 二、Key Features ✨ 主要特点 Instant Setup: Be productive in seconds, not days 即时设置 &#xff1a;在几秒钟…...