组合+排列 以及伯努利装错信封问题思路

简介: 这段代码是C++实现的一个程序,用于计算从`n`个不同元素中选择`m`个进行排列的组合总数(排列问题)。用户输入`n`和`m`,程序通过循环和条件判断生成所有可能的排列,并输出排列的总数。核心逻辑是使用回溯法,当找到一个满足条件(不包含重复元素)的排列时,更新计数器并继续寻找下一个排列。

#include<bits/stdc++.h>

using namespace std;

int main(){

int n,m,i=1,g=1,rankNumber=0;//从n个里面选m个排列

int a[100];

cout<<"A(n,m)输入n,m(n>m):";

cin>>n>>m;

a[i]=1;

while(1)

{

 g=1;//默认满足条件  

 for(int j=i-1;j>=1;j--){//循环遍历判断和选出来的元素有没有重复的  

  if(a[i]==a[j])

  {

   g=0;//如果有重复的元素,改为不满足条件  

   break;

  }

 }

 if(g&&i==m)//如果满足条件,且选出了所有要选元素  

 {

  rankNumber++;//记录有多少种情况  

  for(int j=1;j<=m;j++)//循环遍历输出选出的元素  

  {

   cout<<a[j]<<" ";

  }

  cout<<endl;

 }

 if(g&&i<m)//如果满足条件,且未选所有要选的的元素  

 {

  i++;//继续选择下一个元素  

  a[i]=1;//下一个元素从1开始  

  continue;

 }

 while(i>1&&a[i]==n)i--;//如果当前元素已经达到最大值,无法继续选出下一个元素,向前回溯  

 if(i==1&&a[i]==n)//第一个元素到达最大值,且无法选出下一个元素  

 {

  break;

 }

 else

 {

  a[i]+=1;//使当前元素+1作为下一种排列  

 }

 

}

cout<<"A("<<n<<","<<m<<"):"<<rankNumber;  

return 0;

}  

//伯努利装错信封问题需要在选择条件中使a[]数组对应位置的i的值不等于i  

目录
相关文章
|
图计算
综合评价法与权重方法汇总
综合评价法与权重方法汇总
|
Android开发
APP脱壳之-定义属于自己的专属应用
APP脱壳之-定义属于自己的专属应用
|
机器学习/深度学习 算法 自动驾驶
使用机器学习进行图像分类的简介
在现代技术的发展中,图像处理和图像分类一直是一个热门的领域。随着机器学习的兴起,越来越多的人开始使用机器学习算法来解决图像分类问题。本文将介绍如何使用机器学习进行图像分类,并讨论其中的关键步骤和技术。
521 1
|
存储 Java API
SpringBoot + MinIO 实现文件切片极速上传技术
【8月更文挑战第19天】在现代互联网应用中,文件上传是一个常见且重要的功能。然而,随着文件体积的增大,传统的文件上传方式往往面临效率低下、耗时过长等问题。为了提升大文件上传的速度和效率,我们可以采用文件切片上传技术,并结合SpringBoot和MinIO来实现这一功能。
740 0
|
测试技术 数据安全/隐私保护 iOS开发
iOS自动化测试方案(四):保姆级搭建iOS自动化开发环境
iOS自动化测试方案的第四部分,涵盖了基础环境准备、iPhone虚拟机设置、MacOS虚拟机与iPhone真机的连接,以及扩展问题和代码示例,确保读者能够顺利完成环境搭建并进行iOS自动化测试。
2064 0
iOS自动化测试方案(四):保姆级搭建iOS自动化开发环境
|
数据安全/隐私保护 Windows
本地电脑搭建Plex私人影音云盘教程,内网穿透实现远程访问
本地电脑搭建Plex私人影音云盘教程,内网穿透实现远程访问
816 0
|
NoSQL Java 调度
定时任务基本使用指南(cron 时间表达式、Spring 自带调度器、JDK 原生定时器)
定时任务基本使用指南(cron 时间表达式、Spring 自带调度器、JDK 原生定时器)
1106 0
|
JSON Ubuntu Linux
Linux文本新宠:别再用cat,转投bat的怀抱吧!
在 Linux 操作系统中,有许多强大的命令行工具,它们为用户提供了广泛的功能和灵活性。其中之一就是 bat 命令,这是一个用于查看文件内容的工具,被许多用户认为是 cat 命令的增强版本。
394 1
Linux文本新宠:别再用cat,转投bat的怀抱吧!
|
计算机视觉
挣值管理公式
挣值管理公式。
461 2

热门文章

最新文章