Informatică, întrebare adresată de petrescurobert, 9 ani în urmă

Cerinţa
Se dă un vector cu n elemente numere naturale. Să se șteargă din vector toate elementele care sunt numere prime.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spaţii, reprezentând elementele vectorul.

Date de ieşire
Programul afișează pe ecran, separate prin spații, elementele vectorului obținut prin ștergerea elementelor prime.

Restricţii şi precizări
0 < n ≤ 1000
elementele vectorului vor fi mai mici decât  2^{30}

Exemplu
Intrare

5
7 8 9 17 1
Ieșire

8 9 1

Răspunsuri la întrebare

Răspuns de IuliaG
6
#include <iostream>
using namespace std;

bool Prime(int x);

int a[1001];

int main()

   int n;
    cin >> n; 
  for ( int i = 1; i <= n; ++i)
        cin >> a[i];
    for ( int i = 1; i <= n; ++i)   
 { 
      while( Prime(a[i]) && i <= n ) 
      {   
        for ( int j = i; j <n; ++j) 
              a[j] = a[j+1];
            n--;     
   }
    } 

   for ( int i = 1; i<= n; ++i) 
      cout << a[i] << ' ';

return 0;
}

bool Prime(int x)
{   
if ( x == 0 || x == 1)     
   return false;
    if ( x == 2)
        return true;   
 if ( x % 2 == 0)     
  return false;
    for ( int i = 3; i * i <= x; i = i+2)
        if ( x % i == 0)
            return false; 
  return true;}
Alte întrebări interesante