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

Subprogramul nrDivPrimi are un singur parametru, n, prin care primește un număr natural
(n apartine[2,10^9]). Subprogramul returnează numărul divizorilor care, în descompunerea în factori primi a lui
n, apar la o putere impară.
Scrieți definiția completă a subprogramului.
Exemplu: dacă n=9000, subprogramul returnează 2 (9000=233253).

Răspunsuri la întrebare

Răspuns de RobertoWander
6

Răspuns:

int nrDivPrimi(int n)

{

   int d=2,e,k=0;

   while(n>1)

   {

       e=0;

       while(n%d==0)

       {

           n=n/d;

           e++;

       }

       if(e%2==1)k++;

                 d++;

   }

   return k;

}

Explicație:

Alte întrebări interesante