您现在的位置是:首页 > 正文

输出1~n的全排列(递归法) 热门推荐

2024-02-01 00:38:14阅读 3
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <algorithm>

using namespace std;

int a[1000]={0};//保存数列的数组,默认每个位置都是0
int  book[1000]={0};//记录一个数有没有在数组里
int n;//1~n

void A(int pos)//向a[pos]填数
{
    if(pos==n+1)//递归边界
    {
        for(int i=1;i<=n;i++)//输出数列
            printf("%d",a[i]);
        printf("\n");

        return;
    }
    for(int i=1;i<=n;i++)
    {
        if(book[i]==0)//如果i没有在数组里面
        {
            a[pos]=i;
            book[i]=1;
            A(pos+1);//向a[pos+1]填数
            a[pos]=0;
            book[i]=0;//收回,试下一个数
        }
    }
}
int main()
{
   // freopen("in.txt","r",stdin);

    scanf("%d",&n);
    A(1);

    return 0;
}

网站文章

  • oracle commit提交到底作了什么

    oracle commit所作的工作如下:1,产生一个scn 与此事务相关联的undo tablespace的itl标志为提交即flag为-c--; 并且为此事务分配一个唯一的scn并记录到undo tablespace的事...

    2024-02-01 00:38:07
  • JAVA继承和多态详细讲解

    JAVA继承和多态详细讲解

    面向对象编程的重要知识:继承和多态。通过类的继承机制,可以使用已有的类为基础派生出新类,无需编写重复的程序代码,很好地实现程序代码复用。多态是面向对象编程中继封装和继承之后的另一大特征,它具体是指同一...

    2024-02-01 00:37:38
  • Java二进制小数表示_《Java编程的逻辑》笔记9--小数的二进制表示

    Java二进制小数表示_《Java编程的逻辑》笔记9--小数的二进制表示

    小数计算为什么会出错?简要答案实际上,不是运算本身会出错,而是计算机根本就不能精确的表示很多数,比如0.1这个数。计算机是用一种二进制格式存储小数的,这个二进制格式不能精确表示0.1,它只能表示一个非...

    2024-02-01 00:37:29
  • C#使用OpenCVSharp进行轮廓检测

    在计算机视觉领域中,轮廓检测是一项常见的任务,它可以帮助我们找到图像中的物体边缘或形状边界。在本文中,我们将介绍如何使用C#和OpenCVSharp库实现轮廓检测。在上述代码中,我们首先读取了输入图像...

    2024-02-01 00:37:23
  • 通过PXE服务器批量安装系统

    通过PXE批量部署服务器

    2024-02-01 00:36:56
  • c语言基础局部变量与全局变量

    局部变量1. 在函数内部定义的变量2. 生命周期:从变量定义到函数结束3. 作用域:从变量定义到函数结束全局变量1. 在函数外部定义的变量2. 生命周期:从程序创建到程序销毁(全局变量的地址一旦文件编...

    2024-02-01 00:36:49
  • Android性能优化之-LeakCannary

    Android性能优化之-LeakCannary

    LeakCanary使用 LeakCanary是一个用于Android的内存泄漏检测库.本文从如下四点分析源码 检查哪些内存泄漏 检查内存泄漏的时机 如何判定内存泄漏 如何分析内存泄漏(只有一点点,可...

    2024-02-01 00:36:42
  • Linux 学习记录

    Linux 学习记录

    > 开口朝哪里,哪里的东西输出到另一面,只要有输出就能用管道灌过去 ,>>不覆盖原来内容,追加输入,|还未了解。:为了避免文件行数太多,部分展示,可以用回车一页一页的翻,可以按q中途退出,或者空格全部...

    2024-02-01 00:36:33
  • Python编程基础

    Python编程基础

    Python编程基础主要包括基本语法、内建数据结构、函数以及文件操作。一篇文章马上懂基础python使用、文件写入读出、csv文件处理,函数使用、列表全方位处理等操作。必会包会

    2024-02-01 00:36:06
  • git如何回滚到历史某个版本

    git如何回滚到历史某个版本

    问题:比如某员工误操作提交到了公司比较重要的develop分支,如何恢复到之前的某一个版本呢,git如何回滚到历史某个版本 方法一:idea里面git操作版本 1、 2、选中某一个版本,右键copy版本号 3、如何指针再指向本地的head版本号 4、提交到远程。push,会报错。应该加上-f 属性,推送ch成功。push的时候有一个小按钮 推送成功。 参考链接:https...

    2024-02-01 00:36:00