Rezolvare completă PbInfo #63 Factorizare1

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 = 34 * 51. Astfel, factorul care apare la puterea cea mai mare este 3

Cum e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema Factorizare1:

#include <iostream>
using namespace std;

int main(){
    int n;
    cin >> n;
    int d=2,p,maxp=-1,maxd=0;
    while(n>1){
        p = 0;
        while(n%d == 0)
            p++, n /= d;
        if(p>maxp)
            maxp = p, maxd = d;
        else
            if(p == maxp)
                maxd = d;
        d ++;
        if(d*d>n && n>1){
            if(1>maxp)
                maxp = p, maxd = n;
            else
                if(1 == maxp)
                    maxd = n;
            n = 1;
        }
    }
    cout << maxd;
    return 0;
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #63 Factorizare1

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #63 Factorizare1 de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!