Crivo de Eratóstenes

Publicado por Marcondes Almeida 16/08/2006

[ Hits: 8.642 ]

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

Caixa de lanchonete

Jogo da Forca em C

Cálculo da circunferência de um círculo

Faturamento

Algoritmo dos signos!


  

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