#include<iostream>#include<cstring>#include<string>#include<algorithm>#include<cmath>usingnamespace std;int n;int a[30];int v[30];boolprime(int x ){for(int i =2; i <=sqrt(x); i++)if( x % i ==0)returnfalse;returntrue;}voidprint(){for(int i =1; i < n ; i++){
cout << a[i]<<" ";}
cout << a[n]<< endl ;}voiddfs(int t ){for(int i =2; i <= n ; i++){if(!v[i]&&prime( a[t-1]+ i )){
a[t]= i ;
v[i]=1;if( t == n ){if(prime( a[n]+1))print();}elsedfs( t +1);
v[i]=0;}}}intmain(){int fight =0;while( cin >> n ){
fight++;printf("Case %d:\n", fight );
memset ( a ,0,sizeof(a));
memset ( v ,0,sizeof(v));
a[1]=1;
v[1]=1;dfs(2);
cout <<""<< endl ;}}
素数环#include<iostream>#include<cstring>#include<string>#include<algorithm>#include<cmath>using namespace std;int n;int a[30];int v[30];bool prime( int x ){ for( int i = 2 ; i <= sqrt(x) ; i++ ) if( x % i =