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
- 上傳者