2 条题解
-
1
using namespace std; int n; int sushu(int x){ for(int i=2;i*i<=x;i++){ if(x%i==0){ return 0; } } return 1; } void dfs(int ret,int s){ if(s==n){ cout<<ret<<endl; } for(int i=1;i<=9;i++){ if(i%2==0){ continue; } if(sushu(ret*10+i)==1){ dfs(ret*10+i,s+1); } } } int main(){ cin>>n; dfs(2,1); dfs(3,1); dfs(5,1); dfs(7,1); return 0; }
-
1
//Author:TZR087 #include<bits/stdc++.h> using namespace std; int n; bool prime(int n){ int t=sqrt(n); if(n<2)return 0; for(int i=2;i<=t;i++) if(n%i==0)return 0; return 1; } void work(int dep,int sum){ if(dep>n){ cout<<sum<<endl; return ; } if(prime((sum<<1)+(sum<<3)+1))work(dep-0xffffffff,(sum<<1)+(sum<<3)+1); if(prime((sum<<1)+(sum<<3)+3))work(dep-0xffffffff,(sum<<1)+(sum<<3)+3); if(prime((sum<<1)+(sum<<3)+7))work(dep-0xffffffff,(sum<<1)+(sum<<3)+7); if(prime((sum<<1)+(sum<<3)+9))work(dep-0xffffffff,(sum<<1)+(sum<<3)+9); } int main(){ cin>>n; work(2,2); work(2,3); work(2,5); work(2,7); return 0; }
- 1
信息
- ID
- 239
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- 2
- 标签
- 递交数
- 27
- 已通过
- 20
- 上传者