标签:des style blog http io color ar os java
6 8
Case 1: 1 4 3 2 5 6 1 6 5 2 3 4 Case 2: 1 2 3 8 5 6 7 4 1 2 5 8 3 4 7 6 1 4 7 6 5 8 3 2 1 6 7 4 3 8 5 2
#include<iostream> #include<cmath> #include<cstring> #include<algorithm> #define M 25 using namespace std; int vis[M],n,ans[M],t=0; int sum(int a,int b)//判定素数的函数 { int k=0,sum,i; sum=a+b; for(i=2;i<sum;i++) { if(sum%i==0) { k=1; return 0; } } if(!k) return 1; } void dfs(int x) { int i; if(x==n&&sum(ans[0],ans[n-1]))//递归边界 判定首尾是否符合条件 { for(i=0;i<n;i++) { if(i==0) cout<<ans[0]; else cout<<" "<<ans[i]; } cout<<endl; } else { for(i=2;i<=n;i++) { if(!vis[i]&&sum(i,ans[x-1])) { { ans[x]=i; vis[i]=1;//标记用过的数 dfs(x+1); vis[i]=0;//还原用过的数 } } } } } int main() { int i,j; while(cin>>n) { t++; memset(vis,0,sizeof(vis)); cout<<"Case "<<t<<":"<<endl; vis[1]=1;ans[0]=1; dfs(1); cout<<endl;//每一个例子之间有一个空行 } return 0; }
标签:des style blog http io color ar os java
原文地址:http://www.cnblogs.com/gcczhongduan/p/4071857.html