Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream.h>
- long primo ( int a ){
- long b, p, i=0;
- for ( b=a ; b>=1 ; b-- ) if ( a%b==0 ) i++;
- if ( i>2 ) p=0;
- else p=1;
- return p;
- }
- void factor ( int a ){
- long b, n=0, e=0, num[1000], exp[1000], i=0;
- if( primo(a)==1 ) cout << a << " es primo y sus factores primos son " << a << " y 1 \n ";
- else{ // Si "a" NO es primo
- for( b=2 ; b<=a ; b++ ){
- e=0;
- if ( primo(b)==1 && a%b==0 ){ // Si el "b" es primo y divisor de "a"
- num[i]=b; // lo anota en el vector numerador
- while( a%b==0 ){ a/=b; e++; } // Entonces comprueba cuantas veces es divisor de "a"
- exp[i]=e; // y lo anota en el vector exponente
- i++;
- }
- }
- for( n=0 ; n<i ; n++ )
- cout<< " " << num[n] << "^" << exp[n];
- printf(" \n ");
- }
- }
- int main(){
- long a, b;
- cout<< " \n Un numero menor o igual que 0 te sacara del programa \n ";
- cout<< " \n Introduce un numero para obtener sus factores primos: ";
- cin>> a;
- while( a>0 ){
- if( a<=0 ) return 0;
- factor(a);
- printf(" \n Introduce un numero para obtener sus factores primos: ");
- cin>> a;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement