fbpx

Problema #463 – Factor – Rezolvari PBInfo

de Mihai-Alexandru

Cerinţa

Se dau n numere naturale nenule. Determinați cel mai mare număr prim care apare în descompunerea în factori a produsului celor n numere, precum și exponentul său în descompunere.

Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spaţii.

Date de ieşire

Programul afișează pe ecran numerele P E, separate printr-un spațiu, reprezentând numărul prim căutat și exponentul său.

Restricţii şi precizări

  • 1 ≤ n ≤ 1000
  • cele n numere citite vor fi mai mici decât 1.000.000.000
  • pentru toate datele de test va exista cel puțin un număr dintre cele n care are factori primi

Exemplu

Intrare

5
72 56 70 9 100

Ieșire

7 2
#include <bits/stdc++.h>
using namespace std;

int main()
{
   int n,x,dmax=0,pmax=0;
   int rez=1;
        int p,d=2;
   cin>>n;
   for(int i=1;i<=n;i++)
   {
       cin>>x;
       d=2;
        while(x-1)
        {
            p=0;
            while(x%d==0)
            {
                x/=d;
                p++;
            }
            if(p)
                if(d > dmax)
                    {
                        dmax = d;
                         pmax = p;
                    }
                else
                    if(d==dmax) pmax += p;
            d ++;
            if( d * d > x )
                d = x;

   }
   }
   cout<<dmax<<" "<<pmax;
    return 0;
}
Comentarii

S-ar putea sa iti placa