Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Factori primi  (Citit de 1529 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
Broke
Strain
*

Karma: -10
Deconectat Deconectat

Mesaje: 37



Vezi Profilul
« : Octombrie 27, 2013, 22:05:18 »

Salut. Dati-mi o idee cum as putea crea un program c++ care descompune un nr n in factori primi. Am incercat sa creez un vector cu factorii primi de la 2 la n ( n nr citit de la tastatura) si apoi ... daca n%V==0, cout<<V... dar nu imi afiseaza ceea ce doresc. O idee sau o secventa de cod, va rog?
Memorat
romyk
Strain
*

Karma: 5
Deconectat Deconectat

Mesaje: 40



Vezi Profilul
« Răspunde #1 : Octombrie 28, 2013, 15:31:36 »

Daca parcurgi cu un for(i=1;i<=n;i++) vectorul de numere prime, cand gasesti un divizor scrie i--; ca mai incerce inca o data acel divizor. 

Eu am facut altfel:

Cod:
#include<iostream>
using namespace std;

int n,div[1000000],i,j,m;

int main(){
   
    cin>>n;
    m=n;
    i=2;
    while(n!=1){
        if(n%i==0){
            div[i]++;
            n/=i;
        }
        else
            i++;
    }
    cout<<m<<"=";
   
    for(i=2;i<=m;i++)
        if(div[i]){
            cout<<i<<"^"<<div[i]<<"*";
        }
   
    return 0;
}
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines