题目 1913: 蓝桥杯-排列数
题目描述:
0、1、2三个数字的全排列有六种,按照字母序排列如下:
012、021、102、120、201、210
输入一个数n
求0~9十个数的全排列中的第n个(第1个为0123456789)。
代码:
package lanqiao;
import java.math.BigInteger;
import java.util.*;
public class Main {
static int n;
static int sum = 0;
static int a[] = new int[12];
static int vis[] = new int[12];
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
dfs(0);
}
public static void dfs(int m)
{
if(m == 10){
sum ++;
if(sum == n)
{
String s = "";
for(int i = 0;i <= 9;i ++)
{
s += a[i];
}
System.out.println(s);
}
return;
}
for(int i = 0;i <= 9;i ++)
{
if(vis[i] == 0){
vis[i] = 1;
a[m] = i;
dfs(m + 1);
vis[i] = 0;
}
}
}
}
原文地址:https://blog.csdn.net/weixin_64443786/article/details/136558376
免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!