全排列函数:
#include<algorithm>
int array[10]={1,2,3,4,5,6,7,8,9,0}
do{
........
}while(newxt_permutation(array,array+10));
举例:计蒜客_2018蓝桥杯_模拟5_素数个数
#include<iostream>
#include<algorithm>
#include<cmath>
#include<iomanip>
using namespace std;
bool SS(int n) {//求素数(质数)函数
for (int i = 2; i*i <= n;i++) {//代码写的个人认为还算不错!
if (n%i==0) {
return 0;
}
}
return 1;
}
int main() {
int Array[8] = { 0,1,2,3,4,5,6,7};
int account = 0;
do {
if (Array[7]!=0) {//头一个数不能为0!!
if (SS(Array[0] + Array[1] * 10 + Array[2] * 100 + Array[3] * 1000
+ Array[4] * 10000 + Array[5] * 100000 + Array[6] * 1000000
+ Array[7] * 10000000)) {
account++;
}
}
} while (next_permutation(Array,Array+8));
cout << account << endl;
return 0;
}
.