0分求助
查看原帖
0分求助
806477
0121zqh楼主2022/11/27 15:12
#include<iostream> 
#include<string>
#include<cstring>
#include<cstdio>
using namespace std;

long long b[21],numb = 0;

long long sushu(long long a){
	if (a == 1||a == 2){
		return false;
	}
	for (int i = 2;i <= a - 1;i++){
        if (a % i == 0){
    	    return true;    
	    }	
	}
	return false;
}
long long k,n,n1,k1,x[21],ans = 0,num = 1;
void dfs(long long idx,long long num,long long sum){
	if (num == 0){
		if (sushu(sum)) ans++;
		return;
	}
	if (n - idx + 1 < num){
		return;
	}
	for (int i = idx;i <= n; i++){
		dfs(i + 1,num - 1,sum + x[i]);
	}
	return;
}
int main(){
    cin >> n >> k;
    for (int i = 1;i <= n;i++){
    	cin >> x[i];
    }
    dfs (1,n,0);
    cout << ans;
    return 0;
} 

#include #include #include #include using namespace std;

long long b[21],numb = 0;

long long sushu(long long a){ if (a == 1||a == 2){ return false; } for (int i = 2;i <= a - 1;i++){ if (a % i == 0){ return true;
} } return false; } long long k,n,n1,k1,x[21],ans = 0,num = 1; void dfs(long long idx,long long num,long long sum){ if (num == 0){ if (sushu(sum)) ans++; return; } if (n - idx + 1 < num){ return; } for (int i = idx;i <= n; i++){ dfs(i + 1,num - 1,sum + x[i]); } return; } int main(){ cin >> n >> k; for (int i = 1;i <= n;i++){ cin >> x[i]; } dfs (1,n,0); cout << ans; return 0; }

2022/11/27 15:12
加载中...