Crivo de Eratóstenes

Publicado por Marcondes Almeida 16/08/2006

[ Hits: 8.556 ]

Download primo.c




Uma implementação diferente da que encontrei aqui (no site) do Crivo de Eratóstenes. Este é muito rápido, gera primos até 30.000.000 em 6 segundos e 160.000.000 em 58 segundos.

  



Esconder código-fonte

#include <stdio.h>

main(int argc, char *argv[])
  { 
     if(argc != 2) {
          printf("**** CHAMADA DO PROGRAMA :  ./trab1 [numero]");
          exit(1);
     };
        
    long int i, j, N = atoi(argv[1]);
    
    int *a = malloc(N*sizeof(int));
    if (a == NULL){ 
        printf("erro de alocação!!/n");
        return; 
        }
    
        
    for (i = 2; i < N; i++) a[i] = 1;
    for (i = 2; i < N; i++)
      if (a[i])
        for (j = i; j<= N/i; j++) a[i*j] = 0;
    for (i = 2; i < N; i++){
      if (a[i]){
          printf("%4d\n ", i); 
          }
          }  
  }
   

Scripts recomendados

Soma entre matrizes

De quantas maneiras pode-se preencher um tabuleiro de xadrez com dominós

Parte 6 (Ordenando Strings) - sessão de estudo sobre MATRIZES.

Saber se um número é primo (algoritmo super simples)

Par ou Ímpar


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts