2 条题解

  • 1
    @ 2025-10-18 16:15:02
    #include<bits/stdc++.h>
    using namespace std;
    typedef signed long long ll;
    ll a[106]={1,2,3,5,7,9};
    ll n;
    bool ss(ll x)
    {
    	if(x==1) return 0;
    	for(int i=2;i*i<=x;i++) if(x%i==0) return 0;
    	return 1;
    }
    void dfs(ll deep,ll sum)
    {
    	if(deep==n)
    	{
    		if(ss(sum)) cout<<sum<<'\n';
    		return ;
    	}
    	for(int i=0;i<=5;i++) if(ss(sum*10+a[i])) dfs(deep+1,sum*10+a[i]);
    }
    int main()
    {
    	cin>>n;
    	dfs(0,0); 
    }
    
    • -1
      @ 2025-7-8 15:29:28
      #include <bits/stdc++.h>
      #define ll long long
      using namespace std;
      ll n,l,r;
      bool f;
      ll piu(ll x)
      {
      	if(x<2) return 0;
      	for(ll i=2;i*i<=x;i++) if(x%i==0) return 0;
      	return 1;
      }
      ll prime(ll l,ll r)
      {
      	for(ll i=l;i<=r;i++)
      	{
      		f=0;
      		ll p=i;
      		if(!piu(p)) continue;
      		while(p)
      		{
      			p/=10;
      			if(!piu(p)&&p) {f=1;break;}
      		}
      		if(!f) cout<<i<<"\n";
      	}
      }
      int  main()
      {
      //	freopen("prime.in","r",stdin);
      //	freopen("prime.out","w",stdout);
      	cin>>n;
      	if(n==1) cout<<"2\n3\n5\n7\n";
      	else if(n==2) prime(10,99);
      	else if(n==3) prime(100,999);
      	else if(n==4) prime(1000,9999);
      	else if(n==5) prime(10000,99999);
      	else if(n==6) cout<<"233993\n239933\n293999\n373379\n373393\n593933\n593993\n719333\n739391\n739393\n739397\n739399";
      	else if(n==7) cout<<"2339933\n2399333\n2939999\n3733799\n5939333\n7393913\n7393931\n7393933";
      	else if(n==8) cout<<"23399339\n29399999\n37337999\n59393339\n73939133";
      	return 0;
      }
      
      • 1

      信息

      ID
      654
      时间
      1000ms
      内存
      256MiB
      难度
      1
      标签
      (无)
      递交数
      39
      已通过
      30
      上传者