diff --git a/main.c b/main.c
new file mode 100644
index 0000000000000000000000000000000000000000..6a5ac80081e26b2b3597d33ca2d29a3f3275fadb
--- /dev/null
+++ b/main.c
@@ -0,0 +1,72 @@
+#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;
+}
\ No newline at end of file