#include<bits/stdc++.h>
using namespace std;
int t,n,a[100],zs[100];
void shai(int x){
zs[1]=1;
zs[2]=0;
for(int i=2;i<=x;i++)
if(zs[i]==0)
for(int j=2*i;j<=x;j+=i)
zs[j]=1;
}
void print_permutation(int x,int* a){
if(x>n){
if(zs[a[1]+a[n]]==0){
for(int i=1;i<n;i++)
printf("%d ",a[i]);
printf("%d\n",a[n]);
}
return;
}
for(int i=1;i<=n;i++)
if(zs[a[x-1]+i]==0){
int ok=1;
for(int j=1;j<x;j++)
if(a[j]==i)ok=0;
if(ok){
a[x]=i;
print_permutation(x+1,a);
}
}
}
int main(){
shai(50);
while(scanf("%d",&n)==1){
t++;
a[1]=1;
if(t!=1)printf("\n");
printf("Case %d:\n",t);
print_permutation(2,a);
}
return 0;
}
UVA 524 Prime Ring Problem
最新推荐文章于 2018-08-14 15:31:10 发布