diff --git a/fonctionlaplusotpi.c b/fonctionlaplusotpi.c
new file mode 100644
index 0000000000000000000000000000000000000000..834e131f564241dd602e8060ab238a591f8e68f4
--- /dev/null
+++ b/fonctionlaplusotpi.c
@@ -0,0 +1,47 @@
+#include <stdio.h>
+#include <stdlib.h>
+/*
+ * Ce code se compose en 4 parties :
+ * 1. avec la fonction <fscanf>, on met le chiffre du fichier dans une variable <chiffre>
+ * 2. on écris ce chiffre dans le fichier de sortie avec <fprintf>
+ * 3. on trouve les nombres premiers divisant <chiffre> qu'on écrit ensuite dans le fichier de sortie avec <fprintf>
+ * 4. toujours avec <fprintf>, on n'oublie pas de mettre "\n" pour passer à la ligne suivante
+ *
+ */
+int main() {
+    FILE *f_in = fopen("example_input.txt", "r");
+    FILE *f_out = fopen("example_output.txt", "w");
+    if (f_in == NULL) exit(1);
+    if (f_out == NULL) exit(1);
+
+    int chiffre = 0;
+    int count1=0;
+    int count2=0;
+
+    while (fscanf(f_in, "%d", &chiffre) != EOF)         //EOF == end of file
+    {
+        fprintf(f_out, "%d ", chiffre);
+        while(chiffre%2==0)
+        {
+            if(count1==0) fprintf(f_out, "%d ", chiffre);
+            chiffre=chiffre/2;
+            count1+=1;
+        }
+        for(int i=3;i*i<=chiffre;i+=2)
+        {
+            while (chiffre % i == 0)
+            {
+                if (count2 == 0) fprintf(f_out, "%d ", i);
+                chiffre = chiffre / i;
+                count2 += 1;
+            }
+            count2 = 0;
+        }
+        if(chiffre>2)  fprintf(f_out, "%d ",chiffre);
+        fprintf(f_out, "\n");
+    }
+
+    fclose(f_in);
+    fclose(f_out);
+    return 0;
+}
\ No newline at end of file