Informatică, întrebare adresată de Adelyn23, 9 ani în urmă

Cerinţa
Să se scrie un program care citeşte un număr natural n şi determină factorul care apare în descompunerea în factori primi a lui n la puterea cea mai mare.

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

Date de ieşire
Programul afișează pe ecran numărul prim p, cu semnificaţia precizată.

Restricţii şi precizări
1 < n < 2.100.000.000
dacă în descompunerea în factori primi a lui n apar mai mulţi factori la puterea maximă, se va afişa cel mai mare dintre ei

Exemplu
Intrare

405
Ieșire

3
Explicație
405 = 3 4 * 5 1 . Astfel, factorul care apare la puterea cea mai mare este 3


Ajutor!!!

Răspunsuri la întrebare

Răspuns de express
5
#include <iostream>
using namespace std;
long long n,d,fm, fact,maxx;
int main()
{
    cin>>n;
    d=2;
    do
    {
        fm=0;
        while(n%d==0)
        {
            fm++;
            n=n/d;
        }
        if((fm>0)&&(fm >= maxx)) maxx = fm, fact = d;
        d++;
        if((n>1)&&(d*d>n)) if(maxx > 1)  n = 1;
                          else fact = n, n = 1;
    } while(n>1);
    cout << fact;
    return 0;
}

Alte întrebări interesante