Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- using namespace std;
- bool isPrime(int num)
- {
- if(num==1)
- return false;
- if(num==2)
- return true;
- for(int i=2; i<num/2+1; i++)
- if(num%i==0)
- return false;
- return true;
- }
- vector<int>* findAllPrimesTill(int num)
- {
- vector<int> *result = new vector<int>();
- for(int i = 2; i<num; i++)
- if(isPrime(i))
- result->push_back(i);
- return result;
- }
- int getMax(int *arr, int len)
- {
- int maxV = arr[0];
- for(int i=0; i<len; i++)
- if(maxV<arr[i])
- maxV = arr[i];
- return maxV;
- }
- vector<int> *filterPrimes(vector<int> *vPtr, int num){
- vector<int> *resultV = new vector<int>();
- for(int i =0; i<vPtr->size();i++)
- if(num%vPtr->at(i)==0)
- resultV->push_back(vPtr->at(i));
- return resultV;
- }
- void printVector(vector<int> *vPtr){
- for(int i=0;i<vPtr->size();i++)
- {
- cout<<vPtr->at(i)<<" ";
- }
- cout<<endl;
- }
- int main()
- {
- int n = 7;
- int arr[n];
- int sum = 0;
- for(int i=0; i<n; i++)
- {
- cin>>arr[i];
- sum+=arr[i];
- }
- int maxArrVal = getMax(arr,n);
- //cout<<maxArrVal<<endl;
- vector<int> *primes = findAllPrimesTill(maxArrVal/2+2);
- primes = filterPrimes(primes, sum);
- cout<<sum<<endl;
- printVector(primes);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement