Advertisement
Thiagofsr

Numero Primos

Mar 6th, 2016
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.84 KB | None | 0 0
  1. /*Este programa verifica se um número eh primo ou nao*/
  2. #include <stdio.h>
  3. #include<math.h>
  4.  
  5.  
  6. int main (void){
  7.  
  8.     int n,divisores,inteiro;
  9.     scanf("%d", &n);
  10.     // Os numeros 0 e 1 nao sao primos.
  11.     if ((0==n)  || (n==1))
  12.         printf("O numero nao eh primo\n");
  13.     else if (n==2)
  14.         printf("O numero eh primo");
  15.     //Exceto o 2, o restante dos numeros pares nao sao primos.
  16.     else if (n%2==0)
  17.         printf("O numero nao eh primo\n");
  18.  
  19.     //Verificacao dos impares
  20.     else
  21.     {
  22.         n = sqrt(n) + 1; // So eh necessario que se divida ate a raiz do numero arredondada.
  23.        //Se o novo valor de n for par, logo eh divisivel por 2, sendo assim nao primo.
  24.         if (n%2==0)
  25.         {
  26.             printf("O numero nao eh primo\n");
  27.             printf("Divido por 1 vez\n");
  28.             printf("Numero divisor: %i\n",n);
  29.         }
  30.         // Caso seja impar ,sera divido ate a variavel inteiro ser incremetada pelo menos uma vez.*/
  31.         else
  32.         {
  33.             inteiro=0;
  34.             divisores=3;
  35.             int contador = 1; //Pois o laço por padrão já divirá uma vez.
  36.             while(divisores<=n )
  37.             {
  38.                 if (n%divisores == 0)
  39.                 {
  40.                     inteiro++;
  41.                     break;
  42.                 }
  43.  
  44.                 divisores+=2;
  45.                 contador++;
  46.             }
  47.             if (inteiro==0)
  48.             {
  49.                 printf("O numero eh primo\n");
  50.                 printf("Divido por %i vezes\n", contador);
  51.                 printf("Numero divisor: %i\n",n);
  52.             }
  53.  
  54.             else
  55.             {
  56.                 printf("O numero nao eh primo\n");
  57.                 printf("Divido por %i vezes\n", contador);
  58.                 printf("Numero divisor: %i\n",n);
  59.             }
  60.         }
  61.  
  62.     }
  63.  
  64.     return 0;
  65.  
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement