当前位置: 首页 > 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。确保选择适…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

无法与IP建立连接,未能下载VSCode服务器

如题&#xff0c;在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈&#xff0c;发现是VSCode版本自动更新惹的祸&#xff01;&#xff01;&#xff01; 在VSCode的帮助->关于这里发现前几天VSCode自动更新了&#xff0c;我的版本号变成了1.100.3 才导致了远程连接出…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接&#xff1a;3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯&#xff0c;要想要能够将所有的电脑解锁&#x…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台&#xff08;Launchpad&#xff09;多出来了&#xff1a;Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显&#xff0c;都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入&#xff0c;一个是通过INMP441麦克风模块采集音频&#xff0c;一个是通过PCM5102A模块播放音频&#xff0c;那如果我们将两者结合起来&#xff0c;将麦克风采集到的音频通过PCM5102A播放&#xff0c;是不是就可以做一个扩音器了呢…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象&#xff1a;mysql已经安装&#xff0c;但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时&#xff0c;可能是因为以下几个原因&#xff1a;1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性&#xff1a; 隐藏字段的实现细节 提供对字段的受控访问 访问控制&#xff1a; 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性&#xff1a; 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑&#xff1a; 可以…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

FFmpeg:Windows系统小白安装及其使用

一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】&#xff0c;注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录&#xff08;即exe所在文件夹&#xff09;加入系统变量…...