Skip to content
Snippets Groups Projects
Select Git revision
  • e7c1bb85829059e55ed5f9b3ef6fe32a63a60b9d
  • main default protected
2 results

501_how-to-setup-your-development-environment.md

Blame
  • eratosthene_refactored.c 997 B
    #include <stdio.h>
    #include <stdbool.h>
    
    void init(int n,bool tab[n],bool val);
    void tracer_multiples(int n,bool tab[n],int i);
    void garder_nb1er(int n,bool tab[n]);
    void print_nb1er(int n,bool tab[n]);
    
    void main() {
       int size;
       printf("size = ");
       scanf("%d",&size);
       bool tab[size];
       init(size,tab,true);
       garder_nb1er(size,tab);
       printf("Nombres 1er < %d:",size);
       print_nb1er(size,tab);
    }
    
    void init(int n,bool tab[n],bool val) {
       for (int i=0;i<n;i++) {
          tab[i] = true;  
       }
    }
    
    void tracer_multiples(int n,bool tab[n],int i) {
       int j = i;
       while (true) {
          j += i;
          if (j >= n) {
             break;
          }
          if (tab[j]) {
             tab[j] = false;
          }
       } 
    }
    
    void garder_nb1er(int n,bool tab[n]) {
       for (int i=2;i<n;i++) {
          if (tab[i]) {
              tracer_multiples(n,tab,i);
          } 
       }
    }
    
    void print_nb1er(int n,bool tab[n]) {
       for (int i=2;i<n;i++) {
          if (tab[i]) {
             printf("%d ",i);
          }
       }
       printf("\n");
    }