👤

Se dau doua numere naturale n si p. Sa se stabileasca daca p este prim si in caz afirmativ sa se afiseze la ce putere apare p ca factor prim in descompunerea numarului n in factori primi.

Răspuns :

Răspuns:

#include <iostream>

using namespace std;

int main()

{

   int n,p,e=0;

   cin >> n >> p;

   int prim=1;

   if (p<2) prim=0;

   else

   {

       if (p==2) prim=1;

       else

       {

           if (p%2==0) prim=0;

           else

           {

               for (int i=3; i*i<=p; i+=2)

               if (p%i==0) {prim=0; break;}

           }

       }

   }

   if (prim)

   {

       while (n%p==0)

       {

           ++e;

           n=n/p;

       }

       cout << e;

   }

   else cout << "nu-i prim";

   return 0;

}

Explicație: