Aporte de Juan C. Deslous
-----------------------------------------------------------------------------------
1. #include <stdio.h>
2. #include <stdlib.h>
3. #include <math.h>
4. int main()
5. {
6. double num, num_0, num_1;
7. double rango =0;
8. int i =0;
9. int cont=0;
10. int aux, num1;
11. rango = nearbyint(pow (2,8*sizeof(int)));
12. printf("
Ingrese un numero entero (maximo: %u).
", (int)rango-1);
13. scanf("%lf",&num_0);
14. if (num_0 < 0)
15. num=-num_0;
16. else num=num_0;
17. if (num - (int)num != 0)
18. {
19. printf("
Debe ingresar un numero entero (maximo:%u)...
", (int)rango-1);
20. return 0;
21. }
22. else
23. {
24. num_1 = nearbyint(num);
25. num1 = (int) num_1;
26. for (i=num1; i>0; --i)
27. {
28. if ((aux=num1%i)==0)
29. cont++;
30. }
31. }
32. if (num1==0)
33. {
34. printf("
Debe ingresar un numero entero (maximo:%u)...
", (int)rango-1);
35. return 0;
36. }
37. else
38. {
39. if (cont == 2 || num1== 1)
40. printf("
El numero %d ES PRIMO...
", (int)num_0);
41. else
42. printf("
El numero %d NO ES PRIMO...
", (int)num_0);
43. }
44. return 0;
45. }