提交时间:2025-11-15 15:48:03

运行 ID: 361231

#include<bits/stdc++.h> using namespace std; int a[100]={0},b[100]={0},p=1; int n,sum=0; int prime(int a,int b){ int c=a+b; for(int i=2;i<=sqrt(c);i++){ if(c%i==0) return 0; } return 1; } int search(int k){ if(k==n+1&&prime(a[1],a[n])){ for(int i=1;i<k;i++){ cout<<a[i]<<" "; } p=-1; cout<<endl; } else{ for(int i=2;i<=n;i++){ if(prime(i,a[k-1])&&b[i]==0){ a[k]=i,b[i]=1; search(k+1); b[i]=0; } } } } int main(){ cin>>n; a[1]=1,b[1]=1; search(2); if(p!=-1) cout<<"no answer"; return 0; }