16pts求条
查看原帖
16pts求条
1398862
U_BOTE楼主2025/7/30 15:34
#include <bits/stdc++.h>
using namespace std;

int s[100];
int sum = 0;
int ans = 0;

int f(int n) {
    if(n == 1 || n == 0) return 0;
    for(int i = 2; i * i <= n; i++) {
        if(n % i == 0) return 0;
    }
    return 1;
}

void dfs(int n, int k) {
    if(n == k) {
        if(f(ans) == 1) sum++;
        ans = 0;
        return;
    }

    for(int i = n; i < k; i++) {
        ans += s[i];
        dfs(n + 1, k);
    }
    return;
}

int main() {
    int n, k;
    scanf("%d%d", &n, &k);
    for(int i = 0; i < n; i++) {
        cin >> s[i];
    }
    dfs(0, k);
    cout << sum;
    return 0;
}
2025/7/30 15:34
加载中...