Răspuns :
Răspuns:
#include <iostream>
using namespace std;
unsigned int n, i, num;
bool prim(unsigned int m)
{
unsigned int p=1, j;
if (m==0 || m==1) p=0;
if (m>2)
{
if (m%2==0) p=0;
else
{
for (j=3; j*j<=m; j+=2)
if (m%j==0) { p=0; break; }
}
}
return p;
}
int main()
{
cin >> n;
for (i=1; i<=n; ++i)
{
cin >> num;
if (!prim(num)) cout << num << " ";
}
}
Explicație:
candva am realizat si varianta cu vector... poate te va interesa... dar la nivelul care te afli e important sa vezi abordarea problemei din diferite unghiuri.....
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int n;
cin >> n;
long long x[n+1];
for(int i = 0; i < n; i++)
{
cin >> x[i];
}
for(int i = n-1; i >= 0; i--)
{
int div = 0;
for(int j = 2; j*j <= x[i] && div == 0; j++)
if(x[i] % j == 0)
div++;
if(div == 0 && x[i] != 1 && x[i]!=0)
{
for(int j = i; j < n-1; j++)
{
x[j] = x[j+1];
}
--n;
}
}
for(int i = 0; i < n; i++)
cout << x[i] << " " ;
return 0;
}
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.