C语言 · 排列数
012、021、102、120、201、210
输入一个数n
求0~9十个数的全排列中的第n个(第1个为0123456789)。
#include<stdio.h>
#include<string.h>
long long n,sum;
int label[];//用来标记数字i是否被用了,即是否已被放在了排列中
int a[];
void SouSuo(int pos){
if(pos==){ //表示当前数组a中已有10个数字
sum++;
if(sum==n){
for(int i=; i<; i++)
printf("%d",a[i]);
}
}
for(int i=; i<=; i++){//枚举数字0到数字9
if(!label[i]){//若数字i还没被放在当前排列中
a[pos]=i;//将i赋给当前排列a数组的第pos位置
label[i]=;//数字i已放入排列中,标记为1
SouSuo(pos+);//继续搜索下一个位置
label[i]=;//清除标记
}
}
}
int main(){
scanf("%d",&n);
if(n==){
return ;
}
memset(label,,sizeof(label));//给标记赋初值0
sum=;
SouSuo();
return ;
}
C语言 · 排列数的更多相关文章
- C语言 · 排列数 · 排列式
蓝桥练习场上不断碰到类似的题,都是一个递归搜索的套路. 算法提高 排列数 时间限制:1.0s 内存限制:256.0MB 问题描述 0.1.2三个数字的全排列有六种,按照字母序排列如下 ...
- C++语言-02-函数
普通函数 C++是在C语言的基础上增加了面向对象特性的语言,是C语言的超集 C++中的普通函数与C语言中的普通函数具有类似的性质.请参照以下博客:C语言-04-函数 与类相关的函数 C是一种OOP语言 ...
- SCU 4424(求子集排列数)
A - A Time Limit:0MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submit Status Practice ...
- 由abcd四个字符取5个作允许重复的排列,要求a出现次数不超过2次,但不能不出现;b不超过1个;c不超过3个;d出现的次数为偶数。求满足以上条件的排列数。
一.我的解法 由于没复习,我在想一般的方法,那就是d取0.2.4,然后分步计算,得到225这个错误答案. 二.指数型母函数 设满足以上条件取个排列的排列数为,的指数型母函数为 ...
- 乘法原理,加法原理,多重集的排列数(多个系列操作穿插的排列数) 进阶指南 洛谷p4778
https://www.luogu.org/problemnew/solution/P4778 非常好的题目,囊括了乘法加法原理和多重集合排列,虽然最后使用一个结论解出来的.. 给定一个n的排列,用最 ...
- 排列数与For的关系
目录 什么是排列数 用现实模型表示 用Python编程表示 用数学符号表示 规律 规律1 规律2 如果m < n 会怎样? 排列数的应用场景 什么是排列数 排列指将一个集合里的每个元素不重复的排 ...
- 46. Permutations 排列数
46. Permutations 题目 Given a collection of distinct numbers, return all possible permutations. For ex ...
- 2004: C语言实验——数日子(数组)
2004: C语言实验——数日子 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 213 Solved: 111[Submit][Status][Web ...
- 蓝桥杯--算法提高 排列数 (简单dfs)
算法提高 排列数 时间限制:1.0s 内存限制:256.0MB 问题描述 0.1.2三个数字的全排列有六种,按照字母序排列如下: 012.021.102.120.201.210 输入 ...
随机推荐
- MapReduce 编程模型概述
MapReduce 编程模型给出了其分布式编程方法,共分 5 个步骤:1) 迭代(iteration).遍历输入数据, 并将之解析成 key/value 对.2) 将输入 key/value 对映射( ...
- 每日一小练——Armstrong数
上得厅堂.下得厨房,写得代码,翻得围墙,欢迎来到睿不可挡的每日一小练! 题目:Armstrong数 内容: 在三位的正整数中,比如abc.有一些能够满足a^3+b^3+c^3=abc的条件,也就是说各 ...
- windows live writer首行缩进问题的解决
使用live writer写博客的确方便,但有个简单的问题,我始终无法解决,就是发布的博客老是无法首行缩进,试过好多方法,都有问题: 直接加全角空格.上传时就给过滤掉了. 修改defaultcss,结 ...
- ambari 大数据安装利器
https://www.ibm.com/developerworks/cn/opensource/os-cn-bigdata-ambari/
- Android通过反射打造能够存储不论什么对象的万能SharedPreferences
我们通常使用SharedPreferences存储一些须要保存在本地.但又不至于存储在数据库里的一些数据.一般我们用它来存储一些username,password等数据是很方便的,那么假设我们想要存储 ...
- (剑指Offer)面试题46:求1+2+3+....+n
题目: 求1+2+3+...+n,要求不能使用乘除法,for,while,if,else,switch,case等关键字及条件判断语句(a?b:c). 思路: 1.构造函数 在类中定义静态成员变量N和 ...
- aes加密在linux下会生成随机key的解决办法
直接贴代码了: package com.segerp.tygl.weixin.common; import java.io.UnsupportedEncodingException; import j ...
- 初识 NoSQL Databases RethinkDB
初识 NoSQL Databases RethinkDB rethinkDB所有数据都是基于 json的Document; 官网:http://rethinkdb.com/ github: https ...
- es5 - array - pop
/** * 描述:该pop()方法从数组中删除最后一个元素并返回该元素.此方法更改数组的长度. * 语法:arr.pop() * 返回:从数组删除元素,如果为undefined则返回空该,pop方法从 ...
- QtGui.QFontDialog
The QtGui.QFontDialog is a dialog widget for selecting a font. #!/usr/bin/python # -*- coding: utf-8 ...