一题 #include <iostream> using namespace std; int prime[50]; int ans; int val[50]; int a[50]; void getAns(int k,int n) { if(k == n) { ans++; return; } for(int i=1;i<=n;i++) { if(val[i]) continue; if(k!=0 && prime[a[k-1]+i]) continue; val[i] = 1; a[k] = i; getAns(k+1,n); val[i] = 0; } } int main() { int n; cin>>n; prime[1] = 1; prime[2] = 1; prime[3] = 1; for(int i=4;i<=20;i++) { int flag = 1; for(int j=2;j<i;j++) { if(i % j == 0) { flag = 0; break; } } prime[i] = flag; } getAns(0,n); cout<<ans<<endl; }
点赞 评论
牛客网
牛客企业服务