1 solutions

  • 0
    @ 2025-11-5 16:41:43

    C++ :

    #include<cstdio>
    #include<iostream>
    #include<cstring>
    #include<cmath>
    using namespace std;
    int a[100]={0},b[100]={0};
    int m,k,tot=0;
    void zuhe(int,int);
    bool prime(int);
    int main()
    {
    	//freopen("select4.in","r",stdin);
    	//freopen("select.out","w",stdout);
    	cin>>m>>k;
    	a[0]=k;
    	for(int i=1;i<=m;i++) cin>>a[i];
    	zuhe(m,k);
    	cout<<tot<<endl;
    	return 0;
    }
    bool prime(int x)
    {
    	if(x<2)return false;
    	bool flag=true;
    	for(int i=2;i<=floor(sqrt(x));i++)
    	{
    		if(x%i==0)
    		{
    			flag=false;
    			break;
    		}
    	}
    	return flag;
    }
    void zuhe(int m,int k)
    {
    	for(int i=m;i>=k;i--)
    	{
    		b[k]=i;
    		if(k==1)
    		{
    			int sum=0;
    			for(int j=1;j<=a[0];j++)sum+=a[b[j]];			
    			if(prime(sum))
    			{
    				tot++;
    				//cout<<sum<<' ';	
    			}
    		}
    		else zuhe(i-1,k-1);
    	}
    }
    
    • 1

    Information

    ID
    17942
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By