WA,求大佬解答!
查看原帖
WA,求大佬解答!
1264812
Augety1111楼主2024/3/6 15:10
#include<iostream>
#include<math.h>
using namespace std;
int n,k;
int num[21];
bool ans[21];
int solution = 0;
int sum=0;
bool isPrime(int x){
    if(x==1||x==0)
    return false;
    for(int i=2;i<=sqrt(double(x));i++){
        if(x%i==0)
        return false;
    }
    return true;
}

void Prime(int index,int startx){
    if(index==k){
        if(isPrime(sum))
        solution++;
    }
    for(int i=startx;i<n;i++){
        if(ans[i]==true)
        continue;
        sum+=num[i];
        ans[i]=true;
        Prime(index+1,startx+1);
        sum-=num[i];
        ans[i]=false;
    }
}

int main(){
    cin>>n>>k;
    for(int i=0 ; i<n ; i++){
        cin>>num[i];
        ans[i]=false;
    }
    Prime(0,0);
    cout<<solution<<endl;

    return 0;
}

在自己编译器上结果是正确的,结果提交答案一个测试点都过不了……是没考虑全面吗?

2024/3/6 15:10
加载中...