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

Fie n nr. nat. Afisati factorul prim care apare la puterea cea
mai mare in descompunerea lui n.(Programul trebuie sa fie in c++.)

Răspunsuri la întrebare

Răspuns de express
5
Salut!. Ti-am scris o sursa in C++ dar n-ai specificat ce se intampla in cazul in care ai de ales intre doi factori primi cu aceeasi putere cea mai mare. Am considerat ca trebuie afisat cel mai mare dintre factorii primi. Succes!
#include <iostream>
using namespace std;
int n, d, fm, maxx, fp;
int main()
{
    cin >> n;
    d = 2;
    do
    {
        fm = 0;
        while(n % d == 0)
        {
            fm ++;
            n = n / d;
        }
        if(fm > 0 && fm >= maxx) maxx = fm, fp = d;
        d ++;
        if(n > 1 && d * d > n && maxx == 1) fp = n, n = 1;
    } while(n>1);
    cout << fp;
    return 0;
}
Alte întrebări interesante