[C++] 纯文本查看 复制代码 #include<bits/stdc++.h>
using namespace std;
int a[20],b[20];
int cnt,n,t,k;
void display(int a[],int n)
{
for(int i=1;i<=n;i++)
{
cout<<a[i]<<' ';
}
}
bool check(int x)
{
if(x<2)
{
return false;
}
for(int i=2;i<=sqrt(x);++i)
{
if(x%i==0)
{
return false;
}
}
return true;
}
void search(int t)
{
for(int i=1;i<=n;i++)
{
if(b[i]==0&&check(i+a[t-1]))
{
a[t]=i;
b[i]=1;
if(t==n&&check(1+a[n]))
{
display(a,n);
cnt++;
cout<<endl;
b[i]=0;
}
else
{
search(t+1);
b[i]=0;
}
}
}
}
void pl()
{
cin>>n;
a[1]=1;
b[1]=1;
search(2);
cout<<cnt;
}
int main()
{
pl();
return 0;
}
|