Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int primo ( int a ){
- int 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;
- }
- int main(){
- int a, b, n=0, e=0, num[1000], exp[1000], i;
- printf(" \n Un numero menor o igual que 0 te sacara del programa \n ");
- printf(" \n Introduce un numero para obtener sus factores primos: ");
- scanf("%d",&a);
- if( a<=0 ) return 0;
- if( primo(a)==1 ) printf(" %d es primo y sus factores primos son %d y 1 \n ",a,a);
- 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=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++ )
- printf(" %d^%d",num[n],exp[n]);
- printf( " \n " );
- system ("PAUSE");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement