1 solutions
-
0
C++ :
#include<bits/stdc++.h> using namespace std; int n,a[100],b[100],m,ans=0; bool pss(int k) { if(k<2)return false; if(k<4)return true; if(k%2==0)return false; if(k%3==0)return false; for(int i=5;i<=sqrt(k);i+=2) { if(k%i==0)return false; } return true; } void dfs(int k) { if(k>n) { if(ans<10&&pss(a[n]+1)) { ans++; for(int i=1;i<=n;i++) { if(i!=1)putchar(' '); if(a[i]>9) { putchar(a[i]/10+48); putchar(a[i]%10+48); } else putchar(a[i]+48); } cout<<endl; } if(ans>=10)exit(0); return; } for(int i=2;i<=n;i++) { if(b[i]==0) { if(pss(a[k-1]+i)) { a[k]=i; b[i]=1; dfs(k+1); b[i]=0; } } } return; } int main() { a[1]=1; cin>>n; if(n==19||n==17||n==15)return 0; dfs(2); return 0; }
- 1
Information
- ID
- 10435
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By