Discover prime teams after dividing the vary 1 to N into Ok equal sections

0
2


#embrace <iostream>

#embrace <vector>

  

utilizing namespace std;

  

vector<int> primeNumberDivision(int N, int Ok)

{

    

    

    vector<bool> sieve(N + 1, true);

  

    

    sieve[0] = sieve[1] = false;

  

    

    

    for (int i = 2; i * i <= N; i++) {

        if (sieve[i] == true) {

            for (int j = i * i; j <= N; j += i) {

                sieve[j] = false;

            }

        }

    }

  

    

    

    vector<int> prime;

  

    

    

    for (int i = 2; i <= N; i++) {

        if (sieve[i] == true) {

            prime.push_back(i);

        }

    }

  

    

    

    vector<int> ans;

    int measurement = prime.measurement();

  

    

    

    if (measurement % Ok != 0) {

        return ans;

    }

  

    int step = measurement / Ok;

    int begin = 0;

    int finish = step;

  

    

    

    whereas (begin < measurement) {

        for (int i = begin; i < finish; i++) {

            ans.push_back(prime[i]);

        }

        begin = finish;

        finish += step;

    }

  

    return ans;

}

  

void printAns(vector<int>& ans)

{

    for (auto a : ans) {

        cout << a << " ";

    }

    cout << endl;

}

  

int important()

{

    int N = 20;

    int Ok = 4;

    vector<int> ans = primeNumberDivision(N, Ok);

    printAns(ans);

    return 0;

}

LEAVE A REPLY

Please enter your comment!
Please enter your name here