Documente Academic
Documente Profesional
Documente Cultură
primi
Principiul dupa care functioneaza algoritmul este de a cauta crescator(incepand de la cel mai
mic) factorii primi, si a diviza numarul pana la ireductibilitate cu factorul respectiv, rezultand
astfel ca divizori doar factorii primi
d=2; //se porneste de la cel mai mic factor prim posibil
while(n>1) //n se va divide pana devine 1
{
k=0;
while(n%d==0)
{
n=n/d;
k++; //numaram divizarile numarului n cu d
}
if(k>0) //d este factor prim si apare la puterea k
d++;
}
n=72
——————————————————————————-
// Descompunerea in factori primi si puterea la care apar acestia
#include<iostream>
using namespace std;
int main()
{
int d,n,k;
cout<<"n=";
cin>>n;
d=2;
while(n>1)
{
k=0;
while(n%d==0)
{
n=n/d;
k++;
}
if(k>0) cout<<d<<" "<<k<<endl;
d++;
}
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int d,n,k,m,f;
cout<<"n=";
cin>>n;
d=2;
m=0;
f=0;
while(n>1)
{
k=0;
while(n%d==0)
{
n=n/d;
k++;
}
if(k>0&&k>m) //daca puterea este mai mare ca maximul intermediar
{
m=k;//se schimba maximul
f=d;//se retine noul factor
}
d++;
}
cout<<"factorul la puterea cea mai mare este "<<f;
return 0;
}