2 条题解

  • 1
    @ 2023-12-12 19:47:16
    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
      @ 2023-12-9 16:05:25
      //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
      上传者