题目:
分析:这道题不难,一种暴力法,写8个循环;另一种函数法,直接调用库函数;
第一种:
include <bits/stdc++.h>
using namespace std;
int main(void)
{
int a1,a2,a3,a4,a5,a6,a7,a8;
for(a1=1;a1<9;a1++)
{
for(a2=1;a2<9;a2++)
{
for(a3=1;a3<9;a3++)
{
for(a4=1;a4<9;a4++)
{
for(a5=1;a5<9;a5++)
{
for(a6=1;a6<9;a6++)
{
for(a7=1;a7<9;a7++)
{
for(a8=1;a8<9;a8++)
{
if((a1!=a2)&&(a1!=a3)&&(a1!=a4)
&&(a1!=a5)&&(a1!=a6)&&(a1!=a7)&&(a1!=a8)
&&(a2!=a3)&&(a2!=a4)&&(a2!=a5)&&(a2!=a6)
&&(a2!=a7)&&(a2!=a8)&&(a3!=a4)&&(a3!=a5)
&&(a3!=a6)&&(a3!=a7)&&(a3!=a8)&&(a4!=a5)
&&(a4!=a6)&&(a4!=a7)&&(a4!=a8)&&(a5!=a6)
&&(a5!=a7)&&(a5!=a8)&&(a6!=a7)&&(a6!=a8)
&&(a7!=a8))
{
cout<<a1<<a2<<a3<<a4<<a5<<a6<<a7<<a8<<endl;
}
}
}
}
}
}
}
}
}
return 0;
}
第二种:用到库函数next_permutation(arr,arr+arr.length);
库函数用法
include <bits/stdc++.h>
using namespace std;
int main(void)
{
int arr[8]={1,2,3,4,5,6,7,8};
do
{
for(int i=0;i<8;i++)
{
cout<<arr[i]<<"";
if(i==7)
{
cout<<endl;
}
}
}while(next_permutation(arr,arr+8));
return 0;
}
最后一次更新于2022-01-23
0 条评论