Crivo de Eratóstenes

Publicado por Marcondes Almeida 16/08/2006

[ Hits: 8.466 ]

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

gerenciador de historico de comandos

Calculadora de IMC

Múltiplos de 2 ou 3

Equações em c++

Bhaskara - Cálculo de raízes de equações do segundo grau


  

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