#include<cstdio>
using namespace std;
const int N = 10;
bool visit[N];//是否遍历过
int n;//几个数的全排列
int tep[N];//存放已经遍历过的数
void dfs(int u){
if (u == n){
for (int i = 0; i < n; i++)
{
printf("%d", tep[i]);
}
printf("\n");
}
else
{
for (int j = 1; j <= n; j++)
{
if (!visit[j]){
tep[u] = j;
visit[j] = true;
dfs(u + 1);
visit[j] = false;
}
}
}
}
int main(){
scanf("%d", &n);
dfs(0);
return 0;
}
2、最小公倍数和最大公约数,调用函数。
#include<stdio.h>
//求最大公约数
int Maxcd(int a, int b){
int temp,flag;
if (b>a)
{
flag = a;
a = b;
b = flag;
}
temp = a%b;
while (temp != 0)
{
a = b;
b = temp;
temp = a%b;
}
return b;
}
//求最小公倍数---两数相乘/最大公约数
int Mingb(int a, int b){
int n;
n=a*b;
return n / Maxcd(a, b);
}
int main(){
printf("最大公约数:%d\n", Maxcd(12, 26));
printf("最小公倍数:%d\n", Mingb(12, 26));
return 0;
}