程序设计题!请用C语言回答哈哈
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/07/14 12:37:30
程序设计题!请用C语言回答哈哈
n个元素{1,2,...,n }有n!个不同的排列.将这n!个排列按字典序排列,并编号为0,1,…,-1.每个排列的编号为其字典序值.例如,当n=3时,6 个不同排列的字典序值如下:
0 1 2 3 4 5
123 132 213 231 312 321
任务:给定n 以及n 个元素{1,2,...,n }的一个排列,计算出这个排列的字典序值,以及按字典序排列的下一个排列.
Input
第1 行是元素个数n(n < 15).接下来的1 行是n个元素{1,2,...,n }的一个排列.
Output
第一行是字典序值,第2行是按字典序排列的下一个排列.
Sample Input
8
2 6 4 5 8 1 7 3Sample Output
8227
2 6 4 5 8 3 1 7
n个元素{1,2,...,n }有n!个不同的排列.将这n!个排列按字典序排列,并编号为0,1,…,-1.每个排列的编号为其字典序值.例如,当n=3时,6 个不同排列的字典序值如下:
0 1 2 3 4 5
123 132 213 231 312 321
任务:给定n 以及n 个元素{1,2,...,n }的一个排列,计算出这个排列的字典序值,以及按字典序排列的下一个排列.
Input
第1 行是元素个数n(n < 15).接下来的1 行是n个元素{1,2,...,n }的一个排列.
Output
第一行是字典序值,第2行是按字典序排列的下一个排列.
Sample Input
8
2 6 4 5 8 1 7 3Sample Output
8227
2 6 4 5 8 3 1 7
![程序设计题!请用C语言回答哈哈](/uploads/image/z/8575516-28-6.jpg?t=%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E9%A2%98%21%E8%AF%B7%E7%94%A8C%E8%AF%AD%E8%A8%80%E5%9B%9E%E7%AD%94%E5%93%88%E5%93%88)
//别问我为什么,这是数学问题
#include
void main()
{
int n,a[15];
int i,j,k,temp;
int rank=0;
scanf("%d",&n);
for(i=0;i
#include
void main()
{
int n,a[15];
int i,j,k,temp;
int rank=0;
scanf("%d",&n);
for(i=0;i