Untitled

 avatar
unknown
plain_text
a year ago
1.0 kB
7
Indexable
#include <iostream>
#include <vector>

using namespace std;

int n, k, a[30];
vector<vector<int>> res;

int snt(int n) {
    if (n < 2) return 0;
    if (n < 4) return 1;
    if (n % 2 && n % 3) {
        for (int i = 5; i * i <= n; i += 6) {
            if (n % i == 0 || n % (i + 2) == 0) return 0;
        }
        return 1;
    }
    return 0;
}

void in() {
    vector<int> tmp;
    for (int i = 1; i <= k; i++) {
        tmp.push_back(a[i]);
    }
    res.push_back(tmp);
}

void Try(int i)
{
    for ( int j = a[i - 1] + 1; j <= n - k + i; j++ )
    {
        a[i] = j;
        if ( i == k ) in();
        else {
            Try(i + 1);
        }
    }
}

int main() {
    cin >> n >> k;
    Try(1);
    for(int i = 0; i < res.size(); i++) {
        if (snt(i + 1)) {
            cout << i + 1 << ": ";
            for(int j = 0; j < res[i].size(); j++) {
                cout << res[i][j] << " ";
            }
            cout << endl;
        }
    }
    return 0;
}
Editor is loading...
Leave a Comment