Crivo de Eratóstenes

Publicado por Marcondes Almeida 16/08/2006

[ Hits: 8.882 ]

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

Inverte uma frase

Multiplicação de Matrizes com ponteiros

Converte Celsius para Farenheit

Função em C, retorna a data do sistema já formatada

Calcula Força Gravitacional


  

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