当前位置: 首页 > news >正文

《全排列问题》

题目描述

按照字典序输出自然数 11 到 nn 所有不重复的排列,即 nn 的全排列,要求所产生的任一数字序列中不允许出现重复的数字。

输入格式

一个整数 nn。

输出格式

由 1∼n1∼n 组成的所有不重复的数字序列,每行一个序列。

每个数字保留 55 个场宽。

输入输出样例

输入 #1复制

3

输出 #1复制

    1    2    31    3    22    1    32    3    13    1    23    2    1

说明/提示

1≤n≤91≤n≤9。

C语言代码实现:

#include <stdio.h>

#define MAX_N 9

int n;
int used[MAX_N + 1];
int permutation[MAX_N];

// 输出排列
void print_permutation() {
    int i;
    for (i = 0; i < n; i++) {
        printf("%5d", permutation[i]);
    }
    printf("\n");
}

// 生成全排列
void generate_permutations(int depth) {
    int i;
    if (depth == n) {
        print_permutation();
        return;
    }
    for ( i = 1; i <= n; i++) {
        if (!used[i]) {
            used[i] = 1;
            permutation[depth] = i;
            generate_permutations(depth + 1);
            used[i] = 0;
        }
    }
}

int main() {
    scanf("%d", &n);
    generate_permutations(0);
    return 0;
}

http://www.lryc.cn/news/507490.html

相关文章:

  • pycharm 快捷键
  • 若依微服务如何获取用户登录信息
  • RunCam WiFiLink连接手机图传测试
  • TCP三次握手,四次挥手
  • Mono里建立调试C#脚本运行环境
  • Linux dnf 包管理工具使用教程
  • Java 创建线程的方式有哪几种
  • 计算机的错误计算(一百八十七)
  • 12. 最大括号深度
  • 进程与线程以及如何查看
  • BlueLM:以2.6万亿token铸就7B参数超大规模语言模型
  • Webpack学习笔记(4)
  • 28、论文阅读:基于像素分布重映射和多先验Retinex变分模型的水下图像增强
  • 5.interview-self-introduction
  • 高性能MySQL-查询性能优化
  • 如何有效修复ffmpeg.dll错误:一站式解决方案指南
  • 8086汇编(16位汇编)学习笔记00.DEBUG命令使用解析及范例大全
  • 查看mysql的冷数据配置比例
  • 【Java基础面试题028】Java中的hashCode和equals方法,与==操作符有什么区别?
  • 在C#中测试比较目录的不同方法以查看它们有哪些共同的文件
  • harbor离线安装 配置https 全程记录
  • C++简明教程(文章要求学过一点C语言)(5)
  • Halcon单相机+机器人=眼在手上#标定心得
  • 【hackmyvm】Diophante 靶场
  • C++类的继承关系中什么时候要用到上行转换和下行转换
  • Ubuntu 22.04永久保存路由
  • 数据结构十大排序之(冒泡,快排,并归)
  • OpenFeign源码
  • sql server索引优化语句
  • 深度学习之超分辨率算法——SRGAN