1 条题解
-
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
信息
- ID
- 2359
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者