Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Este programa verifica se um número eh primo ou nao*/
- #include <stdio.h>
- #include<math.h>
- int main (void){
- int n,divisores,inteiro;
- scanf("%d", &n);
- // Os numeros 0 e 1 nao sao primos.
- if ((0==n) || (n==1))
- printf("O numero nao eh primo\n");
- else if (n==2)
- printf("O numero eh primo");
- //Exceto o 2, o restante dos numeros pares nao sao primos.
- else if (n%2==0)
- printf("O numero nao eh primo\n");
- //Verificacao dos impares
- else
- {
- n = sqrt(n) + 1; // So eh necessario que se divida ate a raiz do numero arredondada.
- //Se o novo valor de n for par, logo eh divisivel por 2, sendo assim nao primo.
- if (n%2==0)
- {
- printf("O numero nao eh primo\n");
- printf("Divido por 1 vez\n");
- printf("Numero divisor: %i\n",n);
- }
- // Caso seja impar ,sera divido ate a variavel inteiro ser incremetada pelo menos uma vez.*/
- else
- {
- inteiro=0;
- divisores=3;
- int contador = 1; //Pois o laço por padrão já divirá uma vez.
- while(divisores<=n )
- {
- if (n%divisores == 0)
- {
- inteiro++;
- break;
- }
- divisores+=2;
- contador++;
- }
- if (inteiro==0)
- {
- printf("O numero eh primo\n");
- printf("Divido por %i vezes\n", contador);
- printf("Numero divisor: %i\n",n);
- }
- else
- {
- printf("O numero nao eh primo\n");
- printf("Divido por %i vezes\n", contador);
- printf("Numero divisor: %i\n",n);
- }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement