Informatică, întrebare adresată de MariaNegroaia, 8 ani în urmă

Va rog ajutati-ma
Se citesc mai multe numere naturale pana se citeste un numar negativ. Afisati ultimul numar care are cei mai putini divizori primi.

Răspunsuri la întrebare

Răspuns de boiustef
0

Răspuns:

#include <iostream>

using namespace std;

int num, cntmin, ult, x;

int nrdivprimi(int n)

{

  int divp=0;

  int d=2, cnt;

  while (n>1)

   {

       cnt=0;

       while (n%d==0)

       {

           cnt=1;

           n/=d;

       }

       if (cnt) ++divp;

       ++d;

       if (n>1 && d*d>n) d=n;

   }

   return divp;

}

int main()

{

   cin >> num;

   if (num<0) cout << "nu exista";

   else

   {

      cntmin=nrdivprimi(num);

      ult=num;

      cin >> num;

      while (num>0)

      {

          x=nrdivprimi(num);

          if (x<=cntmin)

          {

              cntmin=x; ult=num;

          }

          cin >> num;

      }

      cout << ult;

   }

}

Explicație:

Alte întrebări interesante