Skip to content
Extraits de code Groupes Projets
mainProjet3.c 1,61 ko
Newer Older
  • Learn to ignore specific revisions
  • #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    int is_div(int number, int i) { // Vérifie si i est un diviseur de number.
        return (number % i == 0) ; // revoi 0 si le nombre n'est pas divisible par i et 1 si il est divisible
    }
    
    int is_prime(int number) { // Vérifie si number est un nombre premier. Return 1 si il est premier, 0 sinon
        for (int i = 2 ; i < number ; i++) { //regarde les differents nombres pouvant etre diviser number
            if (is_div(number,i) != 0) { // si i peut diviser number
                return 0 ; //renvoi 0 => FAUX
            }
        }
        return 1 ; //sinon => VRAI
    }
    
    int* prime_divs(number){
    
        int *ptr;
        ptr = malloc(sizeof(int)*number);
        ptr[0] = 0;
        ptr[1] = 0;
    
        int i;
    
        for (i = 2; i < number; i++){
            if (is_prime(i) == 1 && is_div(number, i)){
    			ptr[i] = i;
            }
            else
            {
                ptr[i] = 0;
            }
    
        }
        ptr[i] = -1;
        return ptr;
    
    }
    
    void afficherListe(int* tab) { // afficher la liste
    
        for (int i = 0; tab[i] != -1; i++)
        {
            if (tab[i] != 0){
            printf("%d\n",tab[i]);
    
            }
        }
    
    
    }
    
    int main() {
        // test pour is_div(int number, int i)
        int number = 10 ;
        int number1 = 11 ;
        int i = 3 ;
        printf("%d\n",is_div(number,i)) ; // 1
        printf("%d\n",is_div(number1,i)) ; // 0
        // test pour is_prime(int number)
        int number2 = 1498498411 ;
        int number3 = 5 ;
        int number4 = 14545144 ;
        printf("%d\n",is_prime(number2)) ; // 0
        printf("%d\n",is_prime(number3)) ; // 1
        printf("%d\n",is_prime(number4)) ; // 0
        //prime divis
        afficherListe(prime_divs(number));
        return 0;
    }