👤

C++ :se considera subprogramul divizor cu doi parametri:
- n,prin care primeste un nr natural cu cel mult noua cifre(n>1);
- d,prin care furnizeaza cel mai mare divizor prim al lui n.
Exemplu: pentru n=50, dupa apel =>> d=5
        iar pentru n=11 , dupa apel =>> d=11



Răspuns :

În sfârșit și ceva de informatică...
int subdivizor(int); //prototip
int subdivizor(int n)
{
    int d=2;
    while(n>1) if(n%d==0) n=n/d; else d=d+1;
    return d;
}
Am căutat divizorii primi eliminându-i pe rând din număr. Pe măsură ce am eliminat, am eliminat și factorii compuși mai mari, așa că ultimul număr la care am împărțit este divizorul nostru. Cât timp mai avem factori în n, dacă factorul nostru se găsește în număr, îl scoatem, dacă nu, încercăm cu următorul. Nu va mai încerca cu următorul dacă numărul devine 1 în proces (ultimul factor prim a fost scos)
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de ajutor, nu ezitați să ne contactați. Vă așteptăm cu drag data viitoare și vă încurajăm să ne salvați în lista de favorite!


Ze Questions: Alte intrebari