- 题解
李茂森赶紧抄
- @ 2026-8-6 9:46:31
#include<bits/stdc++.h> using namespace std; int n,cnt; int a[30],b[30]; bool prime(int x){ for(int i=2;i*i<=x;i++){ if(x%i0) return 0; } return 1; } void print(){ cnt++; for(int i=1;i<=n;i++){ cout<<a[i]<<" "; }cout<<endl; } void search(int t){ if(t1){ a[1]=1; b[1]=1; search(2); return; }for(int i=2;i<=n;i++){ if(b[i]0 && prime(i+a[t-1])){ a[t]=i; b[i]=1; if(tn){ if(prime(a[n]+a[1])){ print(); } }else{ search(t+1); }b[i]=0; } } } int main(){ cin>>n; if(n<1 || n>20){ cout<<"No Solution"; return 0; }search(1); if(cnt==0){ cout<<"No Solution"; } return 0; }
0 条评论
目前还没有评论...