组合数(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概述 中文名为弹性分布式数据集,是数据处理基本单位。代表一个弹性的,不可变,可分区,里面的数据可并行计算的集合。 RDD和Hadoop MR 的区别: RDD是先明确数据处理流程,数据在行动算子执行前实际上并未…...
VBA技术资料MF69:添加和删除工作表中的分页符
我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。我的教程一共九套,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到…...
数字技术助力智慧公厕,让公厕变身为全新创新应用
在如今数字化的时代,数字技术的集成应用已经渗透到了生活的方方面面。其中一个令人瞩目的领域就是智慧公厕。以前只是简单的厕所,如今借助数字技术的力量,智慧公厕变得功能强大、智能高效。接下来,我们将以智慧公厕源头领航厂家广…...
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),这个在c中用得还是比较多的。一般的框架或者库中,经常可以看到在一个类的前面声明了一个类,类似下面这样: class useclass; class mycall{...useclass *us; };前向声明…...
[补题记录] Atcoder Beginner Contest 295(E)
URL:https://atcoder.jp/contests/abc295 目录 E Problem/题意 Thought/思路 Code/代码 E Problem/题意 给定长度为 N 的数组 A。进行如下操作: 若 Ai 0,将 Ai 等概率地变为 1 ~ M 中的任意一个数;对 A 排序; …...
解决git在window11操作很慢,占用很大cpu的问题
【git在window11操作很慢,占用很大cpu,最后也执行失败】 在谷歌输入:git very slow in window 11。通过下面链接终于找到了解决方案: 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 的引入要解决普通指针存在的一些问题一样,weak_ptr 的引入,也是因为 shared_ptr 本身在某些情况下&…...
540 - Team Queue (UVA)
题目链接如下: Online Judge 对比刘汝佳的代码,我没有用queue来排整个队伍,因为那样的话遍历整个队伍太麻烦,vector比较方便。但vector删除元素比较耗时,所以就不删了,仅仅用pivot来指代目前队伍的开始。…...
投资组合之如何估值
文章目录 如何估值一、PE估值法1、PE估值法的定义2、参考标准(1)常规标准:25倍合理市盈率。(2)同行业对比。(3)跟历史市盈率相比。 3、PE估值法的适用范围4、PE估值法的优势5、PE估值法的劣势&a…...
2024届通信工程保研经验分享(预推免入营即offer)
2024届通信工程保研经验分享(预推免入营即offer) BackGround夏令营情况:预推免情况: BackGround 本科院校:末九 专业:通信工程 rank:3/123(预推免绩点排名)࿰…...
L2-025 分而治之 - java
L2-025 分而治之 时间限制 600 ms 内存限制 64 MB 题目描述: 分而治之,各个击破是兵家常用的策略之一。在战争中,我们希望首先攻下敌方的部分城市,使其剩余的城市变成孤立无援,然后再分头各个击破。为此参谋部提供了若…...
Python+高光谱数据预处理-机器学习-深度学习-图像分类-参数回归
涵盖高光谱遥感数据处理的基础、python开发基础、机器学习和应用实践。重点解释高光谱数据处理所涉及的基本概念和理论,旨在帮助学员深入理解科学原理。结合Python编程工具,专注于解决高光谱数据读取、数据预处理、高光谱数据机器学习等技术难题…...
免费 AI 编程助手 Amazon CodeWhisperer 体验
文章作者:文章作者:米菲爸爸 2022 年 6 月 23 亚马逊云科技就已经推出了 Amazon CodeWhisperer(预览版)。经过不到一年的测试和 AIGC的飓风在 2023 年 4 月 18 日实时 AI 编程助手 Amazon CodeWhisperer正式可用 Amazon CodeWhis…...
【Linux】从零开始学习Linux基本指令(一)
🚩纸上得来终觉浅, 绝知此事要躬行。 🌟主页:June-Frost 🚀专栏:Linux入门 🔥该文章主要了解Linux操作系统下的基本指令。 目录: ⌛️指令的理解⏳目录和文件的理解⏳一些常见指令✉…...
Java GC 算法
一、概述 理解Java虚拟机垃圾回收机制的底层原理,是成为一个高级Java开发者的基本功。本文从底层的垃圾回收算法开始,着重去阐释不同垃圾回收器在算法设计和实现时的一些技术细节,去探索「why」这一部分,通过对比不同的垃圾回收算…...
vue3 v-html中使用v-viewer
安装:npm install v-viewernext 在main.js中配置 import “viewerjs/dist/viewer.css”; import Viewer from “v-viewer”; app.use(Viewer, { Options: { inline: true, //默认值:false。启用内联模式。 button: true, //在查看器的右上角显示按钮。 …...
Leetcode算法解析——查找总价格为目标值的两个商品
1. 题目链接:LCR 179. 查找总价格为目标值的两个商品 2. 题目描述: 商品价格按照升序记录于数组 price。请在购物车中找到两个商品的价格总和刚好是 target。若存在多种情况,返回任一结果即可。 示例 1: 输入:price …...
unity游戏开发引擎unity3D开发
Unity(也被称为Unity3D)是一款强大的跨平台游戏引擎,用于开发2D和3D游戏,以及其他交互式应用程序。以下是Unity游戏开发的一般步骤: 安装和设置Unity: 首先,您需要下载并安装Unity。确保选择适…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
