problema #510
Se dă un vector cu n elemente, numere naturale. Afișați în ordine crescătoare valorile prime din acest vector.Programul citește de la tastatură numărul n, iar apoi n numere naturale, reprezentând elementele vectorului.Programul va afișa pe ecran valorile prime din vector, în ordine crescătoare, separate prin exact un spațiu.
1 ≤ n ≤ 1000
cele n numere citite vor fi mai mici decât 1.000.000.000
exemplu :
Intrare
7
13 1 10 15 3 7 11
Ieșire
3 7 11 13
Răspunsuri la întrebare
Răspuns de
1
Răspuns:
#include <iostream>
#include <algorithm>
using namespace std;
int vprime[1001];
int prim(int m)
{
int p=1, k;
if (m<2) p=0;
else if (m==2) p=1;
else
{
if (m%2==0) p=0;
else
{
for (k=3; k*k<=m && p; k+=2)
if (m%k==0) p=0;
}
}
return p;
}
int main()
{
int n, i, p=0, num;
cin >> n;
for (i=1; i<=n; ++i)
{
cin >> num;
if (prim(num)) { ++p; vprime[p]=num;}
}
sort(vprime+1, vprime+p+1);
for (i=1; i<=p; ++i) cout << vprime[i] << " ";
return 0;
}
Explicație:
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
9 ani în urmă