#include<iostream>
using namespace std;
// 判断素数
bool isPrime(unsigned long long n) {
if (n <= 1) {
return 0;
}
else if (n == 2 || n == 3 || n == 5 || n == 7) {
return 1;
}
//如果不与6的倍数相邻,肯定不是素数,并且排除位数为5的数
else if ((n % 6 != 1 && n % 6 != 5) || n % 5 == 0 || n % 7 == 0) {
return 0;
}
//对6倍邻数进行判断,是否为6倍邻数的倍数
else for (unsigned long long i = 11; i <= sqrt(n); i += 6) {
if (n % i == 0 || n % (i + 2) == 0) {
return 0;
}
}
return 1;
}