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

Subprogramul factori are doi parametri, n și m, prin care primește câte un număr natural din intervalul [1,10^9]. Subprogramul returnează numărul valorilor prime care apar la aceeași putere atât în descompunerea în factori primi a lui n, cât și în descompunerea în factori primi a lui m.
Scrieți definiția completă a subprogramului.

Exemplu: dacă n=16500 și m=10780, atunci subprogramul returnează 2

Răspunsuri la întrebare

Răspuns de lucaciucandrei
0

COROANA TE ROG!!!

int factori(int n, int m){

      int div, p1=0, p2=0, x=2, k=0;

      if(n==1||m==1)

          return 0;

      while(n>1&&m>1){

          div=0;

          for(int i=1;i<=x;i++)

              if(x%i==0)

                  div++;

          if(div==2){

              while(n%x==0)

                  n/=x,p1++;

              while(m%x==0)

                  m/=x,p2++;

              if(p1==p2&&p1!=0&&p2!=0)

                  k++;

          }

          p1=0,p2=0,x++;

      }

      return k;

  }

Alte întrebări interesante