SHOW:
|
|
- or go back to the newest paste.
1 | - | /* Este programa comprueba si un numero es primo */ |
1 | + | |
2 | #include <stdlib.h> | |
3 | ||
4 | int primo ( int a ){ | |
5 | int b, p, i=0; | |
6 | ||
7 | for ( b=a ; b>=1 ; b-- ) if ( a%b==0 ) i++; | |
8 | if ( i>2 ) p=0; | |
9 | - | printf(" \n Introduzca un numero para comprobar si es primo: "); |
9 | + | else p=1; |
10 | ||
11 | return p; | |
12 | - | /* Primero se asegura de que es mayor que 0 */ |
12 | + | } |
13 | ||
14 | - | if( a>0 ){ |
14 | + | |
15 | - | |
15 | + | |
16 | - | /* Luego divide el numero entre si mismo |
16 | + | |
17 | - | y si el resto es 0 añade un contador. |
17 | + | printf(" \n Un numero menor o igual que 0 te sacara del programa \n "); |
18 | - | Resta una unidad por cada division para dividirlo |
18 | + | printf(" \n Introduce un numero para comprobar si es primo: "); |
19 | - | entre todos sus numeros menores */ |
19 | + | |
20 | - | |
20 | + | |
21 | - | for ( b=a ; b>=1 ; b-- ) if ( a%b==0 ) i++; |
21 | + | while( a>0 ){ |
22 | - | |
22 | + | b=primo(a); |
23 | - | /* Si solo es divisible entre 2 numeros (1 y si mismo), sera primo */ |
23 | + | if( b==1 ) printf(" El numero %d es primo ",a); |
24 | - | |
24 | + | else printf(" El numero %d no es primo ",a); |
25 | - | if( i>2 ) printf (" El numero %d no es primo \n ",a); |
25 | + | printf(" \n Introduzca un numero para comprobar si es primo: "); |
26 | - | else printf (" El numero %d es primo \n ",a); |
26 | + | scanf("%d",&a); |
27 | } | |
28 | ||
29 | - | else printf (" Numero incorrecto \n "); |
29 | + | |
30 | } |