1.階乘
#include <iostream>
using namespace std;
long jiecheng(int n);
int main(){
int k;
int rs;
cin>>k;
rs=jiecheng(k);
cout<<rs<<endl;
return 0;
}
long jiecheng(int n){
if(n==0){
return 1;
}else
{
return n*jiecheng(n-1);
}
}
2.全排列
#include <iostream>
#include <cmath>
#define MAX 10
using namespace std;
void permutations(char a[],int k,int m);
int main(){
char s[MAX];
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>s[i];
}
permutations(s,0,n);
return 0;
}
void permutations(char a[],int k,int m){
if(k==m){
for(int j=0;j<m;j++){
cout<<a[j];
}
cout<<endl;
}else{
for(int i=k;i<m;i++){
swap(a[k],a[i]);
permutations(a,k+1,m);
swap(a[k],a[i]);
}
}
}