C++如何描述“屏幕输出1—9这九个数字所有排列组合”?1-n的所有排列组合输出怎么写?求代码,
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/22 00:34:47
![C++如何描述“屏幕输出1—9这九个数字所有排列组合”?1-n的所有排列组合输出怎么写?求代码,](/uploads/image/z/618807-39-7.jpg?t=C%2B%2B%E5%A6%82%E4%BD%95%E6%8F%8F%E8%BF%B0%E2%80%9C%E5%B1%8F%E5%B9%95%E8%BE%93%E5%87%BA1%E2%80%949%E8%BF%99%E4%B9%9D%E4%B8%AA%E6%95%B0%E5%AD%97%E6%89%80%E6%9C%89%E6%8E%92%E5%88%97%E7%BB%84%E5%90%88%E2%80%9D%3F1-n%E7%9A%84%E6%89%80%E6%9C%89%E6%8E%92%E5%88%97%E7%BB%84%E5%90%88%E8%BE%93%E5%87%BA%E6%80%8E%E4%B9%88%E5%86%99%3F%E6%B1%82%E4%BB%A3%E7%A0%81%2C)
C++如何描述“屏幕输出1—9这九个数字所有排列组合”?1-n的所有排列组合输出怎么写?求代码,
C++如何描述“屏幕输出1—9这九个数字所有排列组合”?1-n的所有排列组合输出怎么写?求代码,
C++如何描述“屏幕输出1—9这九个数字所有排列组合”?1-n的所有排列组合输出怎么写?求代码,
#include <iostream>
#include <string.h>
#include <stdlib.h>
using namespace std;
int ok(int list[],int k,int i)
{
if(i>k) for (int t=k;t<i;t++)
if (list[t]==list[i])
return 0;
return 1;
}
void perm(int list[],int k,int m)
{
if(k==m)
{
for(int i=0;i<=m;i++)
cout<<list[i];
cout<<endl;
}
else
for (int i=k;i<=m;i++)
{
if (ok(list,k,i))
{
int t;
t=list[k];list[k]=list[i];list[i]=t;
perm(list,k+1,m);
t=list[k];list[k]=list[i];list[i]=t;
}
}
}
void main()
{
int n,i,str[10];
cin>>n;
for(i=1;i<=n;i++) str[i-1]=i;
perm(str,0,n-1);
system("pause");
}