1 条题解
-
0
#include<bits/stdc++.h> using namespace std; int n,mid,a[10],b[11110000],ans; bool pd(int x) { if(x<2)return 0; int t=sqrt(x+1); for(int i=2;i<=t;i++)if(x%i==0)return 0; return 1; } void dfs(int k) { if(k>mid) { int s=0;for(int i=1;i<=n;i++)s=s*10+a[i]; if(pd(s))b[++ans]=s; return ; } for(int i=0;i<=9;i++) { if( (k==1) && (i==0) )continue; a[k]=a[n-k+1]=i; dfs(k+1); } } int main() { scanf("%d",&n); mid=(n+1)/2; ans=0; dfs(1); printf("%d\n",ans); for(int i=1;i<=ans;i++) printf("%d ",b[i]); return 0; }
- 1
信息
- ID
- 842
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 7
- 标签
- 递交数
- 305
- 已通过
- 77
- 上传者