[作业]10 枚举-排列类

news2024/11/28 4:50:36

作业:

   已做:

#include <iostream>
using namespace std;
int n;
int a[100];
void func(int ,int);
int main(){
	cin>>n;
	func(0,n);
	return 0;
}
void func(int k,int m){
	if(k>m-1){
		for(int i=0;i<m;i++){
			cout<<a[i];
		}
		cout<<endl;
		return;
	}
	for(int i=1;i<=m;i++){
		a[k]=i;
		func(k+1,m);
	}
}

#include <iostream>
using namespace std;
int n;
int a[100];
bool b[100];
void func(int ,int);
int main(){
	cin>>n;
	func(0,n);
	return 0;
}
void func(int k,int m){
	if(k>m-1){
		for(int i=0;i<m;i++){
			cout<<a[i]<<' ';
		}
		cout<<endl;
		return;
	}
	for(int i=1;i<=m;i++){
		if(b[i]==0){
			b[i]=1;
			a[k]=i;
			func(k+1,m);
			b[i]=0;
		}
	}
}

#include <iostream>
#include <algorithm>
using namespace std;
int n;
int a[100];//xb
bool b[100];//bj
int c[100];//sz
void func(int ,int);
int main(){
	cin>>n;
	for(int i=0;i<n;i++)cin>>c[i];
	sort(c+0,c+n);
	func(0,n);
	return 0;
}
void func(int k,int m){
	if(k>m-1){
		for(int i=0;i<m;i++){
			cout<<c[a[i]]<<' ';
		}
		cout<<endl;
		return;
	}
	for(int i=0;i<m;i++){
		if(b[i]==0){
			b[i]=1;
			a[k]=i;
			func(k+1,m);
			b[i]=0;
		}
	}
}

#include <iostream>
using namespace std;
int n,r;
int a[100];
bool b[100];
void func(int ,int,int);
int main(){
	cin>>n>>r;
	func(0,n,r);
	return 0;
}
void func(int k,int m,int r){
	if(k>r-1){
		for(int i=0;i<r;i++){
			cout<<a[i]<<' ';
		}
		cout<<endl;
		return;
	}
	for(int i=1;i<=m;i++){
		if(b[i]==0){
			b[i]=1;
			a[k]=i;
			func(k+1,m,r);
			b[i]=0;
		}
	}
}

#include <iostream>
#include <algorithm>
using namespace std;
int n,l;
int a[100];//xb
bool b[100];//bj
char c[100];//sz
void func(int,int,int,int,int);
void pri(int);
int main() {
	cin>>l>>n;
	for(int i=0; i<n; i++)cin>>c[i];
	sort(c+0,c+n);
	func(0,n,l,0,0);
	return 0;
}
void func(int k,int m,int l,int cntf,int cnty) {
	if(k>l-1) {
		if(cntf>=2&&cnty>=1) {
			for(int i=0; i<l; i++) {
				cout<<c[a[i]];
			}
			cout<<endl;
		}
		return;
	}
	for(int i=0; i<m; i++) {
		if(b[i]==0&&(k==0?1:c[a[k-1]]<c[i])) {
			b[i]=1;
			if(c[i]=='a'||c[i]=='e'||c[i]=='i'||c[i]=='o'||c[i]=='u')cnty++;
			else cntf++;
			a[k]=i;
			func(k+1,m,l,cntf,cnty);
			b[i]=0;
		}
	}
}

#include <iostream>
using namespace std;
bool b[1010]={1};
int cnt=0;
int a[6];//max
int ai[6];//var
const int az[6]={1,2,3,5,10,20};
void func(int,int);
int main(){
	for(int i=0;i<6;i++){
		cin>>a[i];
	}
	func(0,6);
	cout<<"Total:"<<cnt;
	return 0;
}
void func(int k,int m){
	if(k>m-1){
		int sum=0;
		for(int i=0;i<6;i++)sum+=ai[i]*az[i];
		if(b[sum]==0){
			cnt++;
			b[sum]=1;
		}
		return;
	}
	for(int i=0;i<=a[k];i++){
		ai[k]=i;
		func(k+1,m);
	}
}

#include <iostream>
using namespace std;
int n;
int a[100];
bool b[100];
void func(int,int);
int main() {
	func(0,9);
	return 0;
}
void func(int k,int m) {
	if(k>m-1) {
		for(int i=0;i<3;i++){
			cout<<a[i];
		}
		cout<<' ';
		for(int i=3;i<6;i++){
			cout<<a[i];
		}
		cout<<' ';
		for(int i=6;i<9;i++){
			cout<<a[i];
		}
		cout<<endl;
		return;
	}
	for(int i=1; i<=m; i++) {
		bool flag=1;
		if(k==5) {
			int a1=0,a2=0;
			for(int j=0; j<2; j++) {
				a1=a1*10+a[j];
				a2=a2*10+a[j+3];
			}
			a1=a1*10+a[2];
			a2=a2*10+i;
			if(2*a1!=a2)flag=0;
		}
		if(k==8) {
			int a1=0,a2=0;
			for(int j=0; j<2; j++) {
				a1=a1*10+a[j];
				a2=a2*10+a[j+6];
			}
			a1=a1*10+a[2];
			a2=a2*10+i;
			if(3*a1!=a2)flag=0;
		}
		if(b[i]==0&&flag) {
			b[i]=1;
			a[k]=i;
			func(k+1,m);
			b[i]=0;
		}
	}
}

#include <iostream>
using namespace std;
int a[20];
int n;
void func(int,int);
bool zs(int);
int main(){
	cin>>n;
	func(0,n);
	return 0;
}
void func(int k,int m){
	if(k>m-1){
		for(int i=0;i<m;i++){
			cout<<a[i];
		}
		cout<<endl;
		return;
	}
	for(int i=1;i<=9;i++){
		int sum=0;
		for(int j=0;j<k;j++){
			sum=sum*10+a[j];
		}
		sum=sum*10+i;
		if(zs(sum)){
			a[k]=i;
			func(k+1,m);
		}
	}
}
bool zs(int a){
	if(a==1||a==4)return 0;
	if(a==2||a==3)return 1;
	for(int i=2;i*i<=a;i++)if(a%i==0)return 0;
	return 1;
}

#include <iostream>
using namespace std;
bool bj[1000]= {0};
int a[20];
int n,cnt=0;
void func(int,int);
bool zs(int);
int main() {
	cin>>n;
	func(0,n);
	cout<<"total:"<<cnt;
	return 0;
}
void func(int k,int m) {
	if(k>m-1) {
		cnt++;
		cout<<cnt<<':';
		for(int i=0; i<m; i++) {
			cout<<a[i]<<' ';
		}
		cout<<endl;
		return;
	}
	for(int i=1; i<=m; i++) {
		if(k==m-1) {
			if(zs(a[0]+i)&&zs(a[k-1]+i)&&bj[i]==0) {
				bj[i]=1;
				a[k]=i;
				func(k+1,m);
				bj[i]=0;
			}
		} else if(k==0) {
			bj[i]=1;
			a[k]=i;
			func(k+1,m);
			bj[i]=0;
		} else if(k>0&&k<m-1) {
			if(zs(a[k-1]+i)&&bj[i]==0) {
				bj[i]=1;
				a[k]=i;
				func(k+1,m);
				bj[i]=0;
			}
		}
	}
}
bool zs(int a) {
	if(a==1||a==4)return 0;
	if(a==2||a==3)return 1;
	for(int i=2; i*i<=a; i++)if(a%i==0)return 0;
	return 1;
}

#include <iostream>
using namespace std;
bool bj[1000]= {0};
int a[20];
int n,cnt=0;
void func(int,int);
bool zs(int);
int main() {
	cin>>n;
	if(n%2)return 0;
	func(0,n);
	return 0;
}
void func(int k,int m) {
	if(cnt>10)return;
	if(k>m-1) {
		cnt++;
		for(int i=0; i<m; i++) {
			cout<<a[i]<<' ';
		}
		cout<<endl;
		return;
	}
	if(k==0) {
			bj[1]=1;
			a[k]=1;
			func(k+1,m);
			bj[1]=0;
	}
	for(int i=1; i<=m; i++) {
		if(k==m-1) {
			if(zs(a[0]+i)&&zs(a[k-1]+i)&&bj[i]==0) {
				bj[i]=1;
				a[k]=i;
				func(k+1,m);
				bj[i]=0;
			}
		} 
		else if(k>0&&k<m-1) {
			if(zs(a[k-1]+i)&&bj[i]==0) {
				bj[i]=1;
				a[k]=i;
				func(k+1,m);
				bj[i]=0;
			}
		}
	}
}
bool zs(int a) {
	if(a==1||a==4)return 0;
	if(a==2||a==3)return 1;
	for(int i=2; i*i<=a; i++)if(a%i==0)return 0;
	return 1;
}

未做:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1897075.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【高性能服务器】select模型

&#x1f525;博客主页&#xff1a; 我要成为C领域大神&#x1f3a5;系列专栏&#xff1a;【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 IO多路复用就是复用…

一文了解常见DNS问题

当企业的DNS出现故障时&#xff0c;为不影响企业的正常运行&#xff0c;团队需要能够快速确定问题的性质和范围。那么有哪些常见的DNS问题呢&#xff1f; 域名解析失败&#xff1a; 当您输入一个域名&#xff0c;但无法获取到与之对应的IP地址&#xff0c;导致无法访问相应的网…

INTERCONNECT 使用脚本导入 Element Library 的器件

INTERCONNECT 使用脚本导入 Element Library 的器件 正文示例1示例2正文 在 INTERCONNECT 添加自定义器件到 Custom 文件夹下 一文中,我们介绍了如何将器件或者自定义器件添加到用户自定义的库中。那么我们如何从 Element Library 中导入我们需要的器件呢? 最简单的方式就是…

Linux系统(CentOS)安装iptables防火墙

1&#xff0c;先检查是否安装了iptables 检查安装文件-执行命令&#xff1a;rpm -qa|grep iptables 检查安装文件-执行命令&#xff1a;service iptables status 2&#xff0c;如果安装了就卸装(iptables-1.4.21-35.el7.x86_64 是上面命令查出来的版本) 执行命令&#xff1a…

Logstash安装插件失败的问题

Logstash安装插件失败的问题 安装 logstash-output-jdbc 失败 报错为&#xff1a; Unable to download data from https://rubygems.org - Net::OpenTimeout: Failed to open TCP connection to rubygems.org:443 (execution expired) (https://rubygems.org/latest_specs.4.…

正确使用Pytorch Geometric打开Cora(Planetoid)数据集

文章目录 关于报错&#xff08;"Cannot connect to host"&#xff09;解决方法 关于报错&#xff08;“Cannot connect to host”&#xff09; 我们在使用PyG调用Planetoid数据集的时候&#xff0c;常会碰到如下报错&#xff1a; 解决方法就是手动下载这个数据集。…

CentOS 离线安装部署 MySQL 8详细教程

1、简介 MySQL是一个流行的开源关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;它基于SQL&#xff08;Structured Query Language&#xff0c;结构化查询语言&#xff09;进行操作。MySQL最初由瑞典的MySQL AB公司开发&#xff0c;后来被Sun Microsystems公司…

一个开源的、独立的、可自托管的评论系统,专为现代Web平台设计

大家好&#xff0c;今天给大家分享的是一个开源的、独立的、可自托管的评论系统&#xff0c;专为现代Web平台设计。 Remark42是一个自托管的、轻量级的、简单的&#xff08;但功能强大的&#xff09;评论引擎&#xff0c;它不会监视用户。它可以嵌入到博客、文章或任何其他读者…

Eclipse配置Tomcat时无Apache选项问题

有可能你会遇到&#xff0c;安装最新版本Eclipse&#xff0c;但是 Window——Preferences——Servers——Runtime Environments。发现没有Apache选项。&#xff0c;这是因为&#xff0c;默认没有安装J2EE组件&#xff0c;我们可以通过手动安装&#xff0c;来解决这个问题。 一…

哪些场景下可以更好地使用行列视(RCV)报表工具呢?

行列视产品是我们公司自主研发的一套基于HTML5技术的Excel式web生产报表应用系统&#xff0c;这款产品定位于发电企业生产指标的收集、报表制作和指标报表可视化&#xff0c;是国内首套专业化、自助化、智能化的生产指标管理及分析应用平台。功能强大但是却简单易用。 这款产品…

react_web自定义组件_多类型Modal_搜索栏Search

目录 一、带输入框的Modal 二、提示框Modal 三、搜索栏Search 在做项目时引入一些现成的UI组件&#xff0c;但是如果和设计图冲突太大&#xff0c;更改时很麻烦&#xff0c;如果自己写一个通用组件其实也就几十分钟或者几个小时&#xff0c;而且更具UI设计更改也比较好更改&…

win11如何关闭自动更新,延长暂停更新时间

网上有很多关闭自动更新的方法&#xff0c;今天给大家带来另一种关闭win11自动更新的方法。 1.winR打开运行窗口&#xff0c;输入regedit打开注册表 2.定位到以下位置&#xff1a; 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings 3.右键右边空白&…

使用kali Linux启动盘轻松破解Windows电脑密码

破解分析文章仅限用于学习和研究目的&#xff1b;不得将上述内容用于商业或者非法用途&#xff0c;否则&#xff0c;一切后果请用户自负。谢谢&#xff01;&#xff01; 效果展示&#xff1a; 使用kali Linux可以轻松破解Windows用户及密码 准备阶段&#xff1a; &#xff08…

Dungeonborne卡顿怎么办 快速解决Dungeonborne卡顿问题

随着Dungeonborne游戏剧情的深入&#xff0c;玩家将逐渐解锁更多的地图和副本&#xff0c;每个区域都有其独特的生态和敌人。在探索的过程中&#xff0c;玩家不仅可以获得强大的装备和道具&#xff0c;还能结识到志同道合的伙伴&#xff0c;共同面对更强大的敌人。不过也有玩家…

【项目实践】贪吃蛇

一、游戏效果展示二、博客目标三、使用到的知识四、Win32 API 介绍 4.1 WIn32 API4.2 控制台程序4.3 控制屏幕上的坐标COORD4.4 GetStdHandle4.5 GetConsoleCursorInfo 4.5.1 CONSOLE_CURSOR_INFO 4.6 SetConsoleCursorInfo4.7 SetConsoleCursorPosition4.8 GetAsyncKeyState 五…

vue3+electron项目搭建,遇到的坑

我主要是写后端,所以对前端的vue啊vue-cli只是知其然,不知其所以然 这样也导致了我在开发前端时候遇到了很多的坑 第一个坑, vue2升级vue3始终升级不成功 第二个坑, vue add electron-builder一直卡进度,进度条走完就是不出提示succes 第一个坑的解决办法: 按照网上说的升级v…

如何通过KB知识库系统实现内部知识的管理

“Baklib 通过构建KB知识库系统实现内部知识的管理&#xff0c;构建 CMS 系统实现网站内容管理&#xff0c;构建 DAM 实现对原子化数字内容的管理。” Baklib 从多个维度和深度实现对数字内容的管理。 CMS 系统 CMS 系统(Content Management System 内容管理系统)是一种帮助用…

什么是 HTTP POST 请求?初学者指南与示范

在现代网络开发领域&#xff0c;理解并应用 HTTP 请求 方法是基本的要求&#xff0c;其中 "POST" 方法扮演着关键角色。 理解 POST 方法 POST 方法属于 HTTP 协议的一部分&#xff0c;主旨在于向服务器发送数据以执行资源的创建或更新。它与 GET 方法区分开来&…

智能升级,监控无界——全新安全生产生态算法一体机上线

安全生产生态算法一体机 安全生产生态算法一体机是万物纵横推出的一款AI算法软硬一体生态产品&#xff0c;重点面向安全生产领域&#xff0c;采用BM1684强劲AI芯片&#xff0c;内置安全生产场景所需的多种专用AI算法&#xff0c;面向各场景的人员监控、规范作业、异常检测等应…

Nginx 常用配置与应用

Nginx 常用配置与应用 官网地址&#xff1a;https://nginx.org/en/docs/ 目录 Nginx 常用配置与应用 Nginx总架构 正向代理 反向代理 Nginx 基本配置反向代理案例 负载均衡 Nginx总架构 进程模型 正向代理 反向代理 Nginx 基本配置反向代理案例 负载均衡 Nginx 基本配置…