danilom

numeros primos.c

Sep 21st, 2011
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.97 KB | None | 0 0
  1. #include <stdio.h>
  2. #define FALSE 0
  3.  
  4. #define INVALID_N_TERMS_MESSAGE "\nValor invalido\nDigite apenas numeros positivos maiores que 0\n"
  5.  
  6. int is_prime(number)
  7. int number;
  8. {
  9.     int number_iterator;
  10.    
  11.     for(number_iterator = 2;
  12.     number % number_iterator != 0;
  13.     number_iterator++);
  14.  
  15.     return number == number_iterator;
  16. }
  17.  
  18. int get_n_terms()
  19. {
  20.     int n_terms = -1;
  21.  
  22.     scanf("%d", &n_terms);
  23.  
  24.     if(n_terms > 0)
  25.     return n_terms;
  26.     else
  27.     return FALSE;
  28. }
  29.  
  30. void main(void)
  31. {
  32.     int number;
  33.     int n_terms;
  34.    
  35.     printf("Imprime os n primeiros números primos, a partir de 0\n\n");
  36.     printf("Digite o valor de n: ");
  37.    
  38.     while((n_terms = get_n_terms()) == FALSE) {
  39.     printf(INVALID_N_TERMS_MESSAGE);
  40.     printf("\nDigite o valor de n: ");
  41.     }
  42.    
  43.     putchar('\n');
  44.  
  45.     for(number = 2; n_terms > 0; number++)
  46.     if(is_prime(number))
  47.         if(--n_terms == 0)
  48.         printf("%d\n\n", number);
  49.         else
  50.         printf("%d, ", number);
  51.  
  52. }
Advertisement
Add Comment
Please, Sign In to add comment