fbpx

Problema #62 – Factorizare – Rezolvari PBInfo

de Mihai-Alexandru

Cerinţa

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 = 3 3 * 5 1 .

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

int main()
{
    int n;
    cin >> n;
    int d = 2;
    while(n > 1){
        int p = 0;
        while(n % d == 0)
            n /= d, p++;
        if(p != 0)
            cout << d << ' ' << p << endl;
        d++;
        if(d * d > n)
            d = n;
    }
    return 0;
}
Comentarii

S-ar putea sa iti placa