Răspuns:
#include <iostream>
using namespace std;
int num, nrPrime;
bool prim(int x)
{
if (x<2) return false;
if (x==2) return true;
if (x%2==0) return false;
for (int d=3; d*d<=x; d+=2)
if (x%d==0) return false;
return true;
}
int nrDiv(int x)
{
int s=0, d;
for (d=1; d*d<x; ++d)
if (x%d==0) s+=2;
if (d*d==x) s+=1;
return s;
}
int main()
{
cin >> num;
while (nrDiv(num)!=4)
{
if (prim(num)) ++nrPrime;
cin >> num;
}
cout << nrPrime << " numere sunt prime";
}
Explicație: