Descompunerea in factori primi C++
ENUNT: Se citeste de la tastatura un numar n. Determinati si afisati pe ecran descompunerea in factori primi ai acestuia.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
using namespace std; | |
//se declara variabilele n,d,p de tip intreg | |
//variabila n memoreaza numarul citit de la tastatura | |
//variabila d este folosita pentru a identifica daca n are divizori proprii | |
//variabila p memoreaza puterea la care apare un factor prim | |
int n,d,p; | |
int main() | |
{ | |
//se citeste de la tastatura numarul n | |
cout<<"Introduceti numarul n: "; | |
cin>>n; | |
//variabila d este initializata cu 2 (primul posibil divizor propriu) | |
d=2; | |
//se determina daca numarul n are divizori proprii | |
while(n>1) | |
{ | |
p=0;//p este initializat cu 0, pentru ca de fiecare data cand se reia instructiunea while sa se poata determina puterea la care apare factorul prim | |
//se verifica daca numarul n se imparte de mai multe ori la numarul d | |
while(n%d==0) | |
{ | |
p++; //se contorizeaza puterea la care apare factorul prim in descompunere | |
n=n/d; //se imparte n la d pentru a se putea continua impartirea si identificarea puterii | |
} | |
//daca numarul d se imparte macar o data la n se afiseaza d, alaturi de puterea la care apare in descompunere | |
//daca p este 0 inseamna ca numarul d nu se imparte deloc la n | |
if(p>0) | |
cout<<d<<"^"<<p<<" "; | |
d=d+1; //creste d, pentru a putea identifica si alti factori primi ai descompunerii | |
} | |
} |
Video YouTube in care explicam cum functioneaza algoritmul de descopunere in factori primi in C++: