Problema de c++
Se citește un număr natural și apoi n numere naturale. Să se determine câte dintre ele sunt aproape prime.
Un număr natural nenul se va numi aproape prim, dacă este produsul a două numere prime distincte (ex. 10 = 2 * 5).
Răspunsuri la întrebare
Răspuns de
7
#include <iostream>
using namespace std;
int main() {
int nn, n, d, sol = 0, nrdiv;
cin >> nn;
for (int i = 0 ; i < nn; i++) {
cin >> n;
nrdiv = 0;
for (d = 2; d * d <= n; d++) {
if (n % d == 0 && nrdiv == 0) {
n = n / d;
nrdiv++;
}
if (n == d)
nrdiv++;
}
for (d = 2; d * d <= n; d++) {
if (n % d == 0 && nrdiv == 1 )
nrdiv++;
}
if (nrdiv == 1)
sol++;
}
cout << sol;
return 0;
}
using namespace std;
int main() {
int nn, n, d, sol = 0, nrdiv;
cin >> nn;
for (int i = 0 ; i < nn; i++) {
cin >> n;
nrdiv = 0;
for (d = 2; d * d <= n; d++) {
if (n % d == 0 && nrdiv == 0) {
n = n / d;
nrdiv++;
}
if (n == d)
nrdiv++;
}
for (d = 2; d * d <= n; d++) {
if (n % d == 0 && nrdiv == 1 )
nrdiv++;
}
if (nrdiv == 1)
sol++;
}
cout << sol;
return 0;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Biologie,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă