首页 > 其他分享 >[PTA]7-2 输出全排列

[PTA]7-2 输出全排列

时间:2024-09-22 14:55:05浏览次数:10  
标签:输出 排列 NO int recursion PTA mark order

[PTA]7-2 输出全排列

请编写程序输出前n个正整数的全排列(n<10),并通过9个测试用例(即n从1到9)观察n逐步增大时程序的运行时间。

输入格式:

输入给出正整数n(<10)。

输出格式:

在这里插入图片描述

输入样例:

3

输出样例:

123
132
213
231
312
321

代码

#include <stdio.h>
#define YES 1
#define NO 0
int order[10],is_mark[10],n;

void recursion(int k)
 
{
	int i;

	if (k>n){
		for (i=1;i<n;++i)printf("%d",order[i]);
		printf ("%d\n",order[n]);
		return ;
	}

	else {
		for (i=1;i<=n;++i){ 
			if (!is_mark[i]){
				order[k]=i;is_mark[i]=YES;
				recursion(k+1);
				order[k]=0;is_mark[i]=NO;
			}
		}
	}
}
int main ()
{
	scanf ("%d",&n);
	recursion(1);
	return 0;	
}

标签:输出,排列,NO,int,recursion,PTA,mark,order
From: https://blog.csdn.net/2201_75443644/article/details/142388411

相关文章

  • [PTA]7-4 九连环问题
    [PTA]7-4九连环问题九连环是一种流传于山西省的传统民间的智力玩具,由九个圆环相连成串,以解开为胜。九连环的九个环,一环扣一环地套在钗上。除了第1号环可以随时装上或卸下以外,其它环装上或卸下的条件是:在它的前面仅有紧靠它那一个环在钗上。即:当第1~i−2号环都不在......
  • 【已解决】log4j没有生成日志文件、 生成日志文件、自动写入日志、log4j日志没有输出
    接上一篇:log4j2 运行项目后不会自动生成日志文件、或不会自动向日志文件中写入日志 解决方法:加入:<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions>......
  • lightgbm的输出到低是怎么来的
    结论:假设有100棵树,总输出就是100棵树每个输入所对应的输出叶子结点之和 1可以打印出每个样本在每棵树上所属的叶子结点id2可以打印每棵树每个叶子结点的输出 3找到每棵树对应叶子结点,加起来 4查看该样本的模型输出,发现是一致的 5可以画图每棵树的结构图,方便理解......
  • 第二课:输入输出
    相信学习C++的人都知道,最简单的莫过于输入输出,而大家也清楚这是学习C++的入门。而今天,我将带大家学习输入输出!步骤1:头文件#include<iostream>usingnamespacestd;这个头文件也是我们学习的开始,后续会更多。步骤2:主函数intmain()步骤3:输出cout<<"(你想输出的)"<<endl......
  • PTA L1-062 幸运彩票
    L1-062幸运彩票(15分)彩票的号码有6位数字,若一张彩票的前3位上的数之和等于后3位上的数之和,则称这张彩票是幸运的。本题就请你判断给定的彩票是不是幸运的。输入格式:输入在第一行中给出一个正整数N(≤100)。随后N行,每行给出一张彩票的6位数字。输出格式:对每张彩......
  • Java中的输入输出:深入解析与应用
    Java中的输入输出:深入解析与应用在Java编程中,输入输出(I/O)是处理数据流动的核心机制。无论是从控制台读取用户输入,还是从文件中读取数据,或是将数据写入文件,Java都提供了丰富的I/O类和方法来实现这些操作。理解Java中的输入输出机制,对于编写高效、可靠的程序至关重要。本文将......
  • iptables来开放某个端口
    要使用iptables来开放某个端口,你需要添加一条规则到filter表的INPUT链,以允许进入的流量通过指定的端口。以下是一个例子,假设你想要开放TCP端口80(HTTP):sudoiptables-AINPUT-ptcp--dport80-jACCEPT如果你还需要开放UDP端口(例如,如果你运行的是某种形式的DNS服务器),你可以使用......
  • iptables重启命令
    在Linux系统中,如果你使用的是iptables作为防火墙,那么在重启iptables服务的命令取决于你的系统使用的是哪种init系统。以下是一些常见的命令:对于使用Systemd的系统(如最新版的Ubuntu、Debian、CentOS等):sudosystemctlrestartiptables.service对于使用旧的SysVinit的系统:sudoserv......
  • PHP美化打印输出并结束程序执行
    话不多说,直接附上代码if(!function_exists('dd')){/***@notes:打印输出*@parammixed$vars*@returnvoid*@author:lavender*@time:2024/7/159:33*/functiondd(...$vars){/*ob_start();var_......
  • Wpf使用NLog将日志输出到LogViewer
    1LogViewerLogViewer是通过UDP传输的高性能实时log查看器。具有一下特性:通过UDP读取日志通过文件导入日志导出日志到一个文件中排序、过滤(日志树,日志等级)和查找突出显示搜索文本从UPD接收日志时忽略IP地址列表多接收器支持多种颜色主题项目地址:https://github.com/......