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 | } |