Factorizare

Se citeşte un număr natural n. Să se afişeze descompunerea în factori primi a lui n.

Date de intrare

Programul citește de la tastatură numărul n.

Date de ieşire

Programul afișează pe ecran perechile b p, reprezentând factorii primi şi puterile corespunzătoare.

Perechile se afişează câte una pe o linie a ecranului, în ordinea crescătoare a bazelor. Cele două valori din pereche sunt separate printr-un spaţiu.

Restricţii şi precizări

  • 1 < n < 2.100.000.000

Exemplu

Intrare

135

Ieșire

3 3
5 1

Explicație

135 = 33 * 51.

#include <iostream>

using namespace std;

int main()
{
    long long n,d=2,p=0;
    cin>>n;

   
    while(n>1)
    {
          int p=0;
          while(n%d==0)
          {
                p++;
                n=n/d;
          }
          if(p)cout<<d<<" "<<p<<'\n';
          d++;
                if(d * d > n)
            d = n;
    }
    return 0;
}