👤



Un număr natural se numește aproape prim dacă poate fi scris ca produs de două numere naturale prime distincte.

Cerinţa
Se citește un număr natural și apoi n numere naturale. Să se determine câte dintre ele sunt aproape prime
Pe pbinfo imi da 0 puncte pe rezolvarea asta si nu stiu unde am gresit



#include
using namespace std;
int n,i,d,x,k=2,C=0;
int main()
{
cin>>n;
for(i=1;i<=n;i++)
{
cin>>x;
for(d=2;d<=x/2;d++)
{
if(x%d==0)
k++;
}
if(k==2)
C++;
}
cout< return 0;
}


Răspuns :

#include <iostream>

using namespace std;

bool prim(int m)

{

   if (m==0 || m==1) return false;

   if (m==2) return true;

   if (m>2)

   {

       if (m%2==0) return false;

       else

       {

           for (int i=3; i*i<=m; ++i)

               if (m%i==0) return false;

       }

       return true;

   }

}

bool apr_prim(int m)

{

   for (int i=2; i*i<m; ++i)

   {

       if (m%i==0)

       {

           if (prim(i) && prim(m/i)) return true;

       }

   }

    return false;

}

int main()

{

  int n, num, i, c=0;

  cin >> n;

  for (i=1; i<=n; ++i)

  {

      cin >> num;

      if (apr_prim(num)) ++c;

  }

  cout << c;

   return 0;

}




Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări suplimentare sau nevoie de ajutor, vă rugăm să ne contactați cu încredere. Așteptăm cu drag să reveniți și nu uitați să ne salvați în lista dumneavoastră de favorite!


En Studentsy: Alte intrebari