Sunteți pe pagina 1din 3

1/3

descompunere in factori primi - Programe Elementare


Creat de: Prof. Mariana IVAN

Cuprins
DescompunereInFactoriPrimi 1
FactorPrimLaPutereaCeaMaiMare 1
factorPrimMax 2
SumFactorPrimiUnici 2
SumTuturorFactorilorPrimi 2
NumarFactoriPrimiUnici 3
NumarulTuturorFactoriPrimi 3

DescompunereInFactoriPrimi
1. Se citește un număr întreg n. Scrie un program în C++ care descompune un număr dat în
factori primi. Dacă numărul introdus este 1 sau 0 afișează mesajul "nu are factori primi.
Exemplu: n=12; va afisa: factorulP:2 la puterea:2
factorulP:3 la puterea:1
#include <iostream>
using namespace std;
int main(){ int d=2, nr, n; cin>>n;
while(n>1){nr=0;
while(n%d==0){nr++;
n/=d;}
if(nr)cout<<"\nfactorulP:"<<d<<"\t la puterea:"<<nr;
d++;}}

FactorPrimLaPutereaCeaMaiMare
2. Se citește un număr întreg n. Scrie un program în C++ care găsește și afișează factorul
prim care apare la puterea cea mai mare. Dacă numărul introdus este 1 sau 0 afișează
mesajul "nu are factori primi.
Exemplu: n=12; va afisa: factorulP:2 la puterea:2

#include <iostream>
using namespace std;
int main(){int d, n; int maxPower=0, maxFactor=1;
cout<<"\nscrie numarul:";cin>>n;
d=2;
while(n>1){int nr=0;
while(n%d==0) {nr++;
n/=d;}
if(nr>maxPower){maxFactor=d; //Actualizează factorul prim
maxPower=nr;} //Actualizează puterea
d++;}
if (maxPower>0)cout<<"\n\tfactorulP:"<<maxFactor<<"\t la puterea:"<<maxPower;
else cout<<"nu are factori primi.";}
2/3
descompunere in factori primi - Programe Elementare
Creat de: Prof. Mariana IVAN

FactorPrimMax
3. Se citește un număr întreg n. Scrie un program în C++ care identifică și afișează cel mai
mare factor prim și puterea la care acesta apare în numărul dat. Dacă numărul introdus este
1 sau 0 afișează mesajul "nu are factori primi.
Exemplu: n=12; va afisa: factPrimMax:3 la puterea:1

#include <iostream>
using namespace std;
int main(){int d, n;
int maxPower=0, maxFactor=0;
cout<<"\nn:";cin>>n;
if (n==0 ||n==1){cout<<"nu are factori primi."; return 0;}
d=2;
while(n>1)
{int nr=0; while(n%d==0)
{nr++;
n/=d;}
if(nr>0){maxFactor=d; //Actualizează factorul prim
maxPower=nr;} //Actualizează puterea
d++;}
cout<<"\n\tfactPrimMax:"<<maxFactor<<"\t la puterea:"<<maxPower; return 0;}

SumFactorPrimiUnici
4. Se citește un număr întreg n. Scrie un program în C++ care calculează și afișează suma
factorilor primi unici ai numărului introdus. Dacă numărul introdus este 1 sau 0 afișează
mesajul "nu are factori primi.
Exemplu: n=12; va afisa: sumFactPrimi:5

#include <iostream>
using namespace std;
int main(){int d, n; int s=0;
cout<<"\nscrie numarul:";cin>>n;
d=2;
while(n>1){int nr=0;
while(n%d==0)
{nr++;
n/=d;}
if(nr){s+=d;}
d++;}
if (s>0)cout<<"\n\tsumFactPrimi:"<<s;
else cout<<"nu are factori primi."; return 0;}

SumTuturorFactorilorPrimi
5. Se citește un număr întreg n. Scrie un program în C++ care calculează și afișează suma
tuturor factorilor primi ținând cont de puterea lor pentru numărul citit. Dacă numărul introdus
este 1 sau 0 afișează mesajul "nu are factori primi.
Exemplu: n=12; va afisa: sumFactPrimi:8
3/3
descompunere in factori primi - Programe Elementare
Creat de: Prof. Mariana IVAN

#include <iostream>
using namespace std;
int main(){int d, n; int s=0;
cout<<"\nscrie numarul:";cin>>n;
d=2;
while(n>1){int nr=0;
while(n%d==0)
{nr++;
n/=d;}
if(nr>0){s+=d*nr;}
d++;}
if (s>0)cout<<"\n\tsumFactPrimi:"<<s;
else cout<<"nu are factori primi."; return 0;}

NumarFactoriPrimiUnici
6. Se citește un număr întreg n. Scrie un program în C++ care calculează și afișează numărul
de factori primi unici ai unui număr dat. Dacă numărul introdus este 1 sau 0 afișează mesajul
"nu are factori primi.
Exemplu: n=12; va afisa: contorFactPrimi:2
#include <iostream>
using namespace std;
int main(){int d, n; int nr1=0;
cout<<"\nscrie numarul:";cin>>n;
d=2;
while(n>1){int nr=0;
while(n%d==0)
{nr++;
n/=d;}
if(nr>0){nr1++;}
d++;}
if (nr1>0)cout<<"\n\tcontorFactPrimiUnici:"<<nr1;
else cout<<"nu are factori primi.";

NumarulTuturorFactoriPrimi
7. Se citește un număr întreg n. Scrie un program în C++ care contorizează și afișează
numărul tuturor factorilor primi ai unui număr dat. Dacă numărul introdus este 1 sau 0
afișează mesajul "nu are factori primi.
Exemplu: n=12; va afisa: NrTotalFactPrim:3
#include <iostream>
using namespace std;
int main(){int d, n;cout<<"\nn:";cin>>n;
if (n==0 ||n==1){cout<<"nu are factori primi."; return 0;}
int contorTotal=0; d=2;
while(n>1){ while(n%d==0)
{contorTotal++;
n/=d;}
d++;}
cout<<"\n\tNrTotalFactPrim:"<<contorTotal; return 0;}

S-ar putea să vă placă și