Problème | Solution |
---|---|
- 1 - Combinaise de 3 chiffres Epreuve de l'eau' - Javascript - |
let chiffre = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; let grp = []; let tab = []; let sol = []; //Fonction qui fait des groupes de trois chiffre différents let groupe = (chiffre) => { let n = 0 for (let x = 0; x < chiffre.length - 2; x++) { for (let y = 0; y < chiffre .length; y++) { for (let z = 0; z < chiffre.length; z++) { if (chiffre[x] !== chiffre[y] && chiffre[y] !== chiffre[z] && chiffre[x] !== chiffre[z]) { grp[n] = [chiffre[x], chiffre[y], chiffre[z]] n++ } } } } } //Fonction qui tri les groupes de manière croissante let tri = (grp) => { for (let t = 0; t < grp.length; t++) { let sol = grp[t]; let res = []; let i = 0; let j = 0; while(sol.length != res.length) { if ((sol[i] <= res[j]) || (res[j] == undefined)) { res.splice(j, 0, sol[i]); i++; j = 0; } else { j++; } } tab.push(res) tab.sort() } } //Gestion des erreurs if (process.argv.length > 2) { console.log("Le script n'a pas besoin d'argument pour fonctionner.") return } //Résolution du problème groupe(chiffre) tri(grp) sol.push(tab[0]) //Boucle qui supprime les doublons for (let a = 0; a < tab.length; a++) { for (let b = 0; b < tab.length; b++) { if (JSON.stringify(tab[a]) == JSON.stringify(tab[b])) { tab.splice(a, 1) } } } //Boucle qui regroupe les 3 chiffres for (a = 0; a < tab.length; a++) { tab[a] = tab[a].join('') } //Affichage du résultat console.log(tab.toString()) |
- 2 - Chiffre entre 00 & 99 Epreuve de l'eau - Javascript - |
let chiffre = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']; let nb = []; let grp = []; //Fonction qui fait un tableau de nombre entre 0 et 99 let nombre = (chiffre) => { let i = 0; for (let n = 0; n < chiffre.length; n++) { for (let nn = 0; nn < chiffre.length; nn++) { nb[i] = chiffre[n] + chiffre[nn] i++ } } } //Fonction qui fait fait toutes les combinaisons de deux nombres différents let groupe = (nb) => { let j = 0; for (let a = 0; a < nb.length; a++) { for (let b = a + 1; b < nb.length; b++) { grp[j] = nb[a] + nb[b] j++ } } grp = grp.toString() } //Gestion des erreurs if (process.argv.length > 2) { console.log("Le script n'a pas besoin d'argument pour fonctionner.") return } //Résolution du problème nombre(chiffre) groupe(nb) //Affichage du Résultat console.log(grp) |
- 3 - Affichez à l'envers Epreuve de l'eau - Javascript - |
//Script qui affiche les arguments à l'envers // Function qui parcour un tableau à l'envers et qui affiche chaque index let reverse = (tab) => { for (let a = tab.length - 1; a >= 0; a--) { console.log(tab[a]) } } //Gestion d'erreur if (process.argv.length < 4) { console.log("Veuillez indiquer au moins deux arguments au script") } //Parsing let arg = process.argv //Résolution du problème et Affichage arg.splice(0, 2) reverse(arg) |
- 4 - n-ème élément de la suite de Fibonacci Epreuve de l'eau - Javascript - |
//Fonction qui calcul la suite de Fibonacci let fibo = (tab) => { for (let a = 0; a != stop; a++) { let next = tab[a] + tab[a + 1]; tab.push(next) } } //Gestion d'erreur if (process.argv.length != 3) { console.log("Veuillez indiquer qu'un seul argument au script") return } else if (Number(process.argv[2]) % 1 != 0) { console.log("Veuillez indiquer un nombre en argument") return } //Parsing let start = [0, 1]; let stop = process.argv[2] //Résolution du problème fibo(start) //Affichage du résultat console.log(start[stop]) |
- 5 - 1er supérieur à l'arguments - Javascript - |
//Gestion d'erreur if (process.argv.length != 3) { console.log("Veuillez indiquer un nombre en argument") return } //Parsing let arg = process.argv[2] const nb = process.argv[2] let fs = require('fs') let vm = require('vm') //Récupération du script qui détermine si un nombre est premier let entier = fs.readFileSync("../../Epreuve_Terre/Terre11/terre11.js", "utf8") //Exécution du script vm.runInThisContext(entier) premier(arg) //Execution de la fonction du script tant qu'un nombre premier n'est pas trouvé while (win != true) { arg = Number(arg) + 1 premier(arg) res = 0 } //Affichage console.log("Le premier nombre premier supérieur à " + nb + " est " + arg) |
- 6 - affiche si le dernier argument est présent dans les précédents - Javascript - |
//Function let string = (tab) => { for (let a = 0; a < tab.length - 1; a++) { if (JSON.stringify(tab[tab.length - 1]) == JSON.stringify(tab[a])) { win = true i = a return } else { win = false } } } //Gestion d'erreur if (process.argv.length < 4) { console.log("Veuillez indiquer au minimum, deux arguments") return } //Parsing let arg = process.argv arg.splice(0, 2) let win let i //Résolution du problème string(arg) //Affichage if (win == false) { console.log(arg[arg.length - 1] + " n'est pas présent") } else { console.log(arg[arg.length - 1] + " est présent à l'index " + i) } |
- 7 - affiche la différence minimum absolu d'une liste - Javascript - |
//Gestion d'erreur if(process.argv.length < 4) { console.log('Veuillez indiquer au minimum deux nombres en argument') return } process.argv.splice(0, 2) for (i in process.argv) { if (process.argv[i] % 1 != 0) { console.log("Veuillez indiquer seulement des nombres en argument") return } } //Parsing let arg = process.argv let sol //Résolution du problème for (let a = 0; a < arg.length; a++) { for (let b = 0; b < arg.length; b++) { //Différence entre toutes les valeurs du tableau let dif = arg[a] - arg[b] //Mise du résultat au positif let positif if (dif < 0) { positif = 0 - dif } else if (dif > 0) { positif = dif } //Si diférence plus petite affecter dans solution if (positif < sol || sol == undefined) { sol = positif } } } //Affichage console.log(sol) |
- 8 - tri à bulle - Javascript - |
//Function du tri à bulle function my_bulle_sort(tab){ let changed; do{ changed = false; for(let a = 0; a < tab.length - 1; a++) { if(tab[a] > tab[a+1]) { let big = tab[a]; tab[a] = tab[a+1]; tab[a+1] = big; changed = true; } } } while(changed); } //Function qui transforme chasue index en nombre function num(tab) { for (let b = 0; b < tab.length; b++) { tab[b] = Number(tab[b]) } } //Gestion d'erreur if(process.argv.length < 4) { console.log('Veuillez indiquer au minimum deux nombres en argument') return } //Parsing let arg = process.argv //Résolution du problème num(arg) my_bulle_sort(arg); //Affichage console.log(arg); |
- 9 - tri par sélection - Javascript - |
//Function du tri par sélection function my_select_sort(tab) { let min for (let a = 0; a < tab.length; a++) { min = a; for (let b = a + 1; b < tab.length; b++) { if (tab[b] < tab[min]) { min = b } } let small = tab[a] tab[a] = tab[min] tab[min] = small } return tab } //Function qui transforme les string en nombres function num(tab) { for (let c = 0; c < tab.length; c++) { tab[c] = Number(tab[c]) } } //Gestion d'erreurs if(process.argv.length < 4) { console.log('Veuillez indiquer au minimum deux nombres en argument') return } process.argv.splice(0, 2) for (i in process.argv) { if (process.argv[i] % 1 != 0) { console.log("Veuillez indiquer seulement des nombres en argument") return } } //Parsing let arg = process.argv //Résolution du problème num(arg) my_select_sort(arg) //Affichage console.log(arg); |
- 10 - tri les arguments suivant l'ordre Ascii - Javascript - |
//Function qui tri les argument suivant l'ordre Ascii let triAscii = (tab) => { let num = []; let stg = []; let tabAscii = []; // Function qui sépare les nombres et string let part = () => { for (let a = 0; a < tab.length; a++) { if (tab[a] % 1 == 0) { num.push(tab[a]) } else { stg.push(tab[a]) } } } //Function qui tri les tableaux let tri = (tab) => { let newtab = []; let i = 0; let j = 0; for (let b = 0; b < tab.length; b++) { while(tab.length != newtab.length) { if ((tab[i] <= newtab[j]) || (newtab[j] == undefined)) { newtab.splice(j, 0, tab[i]); i++; j = 0; } else { j++; } } } return newtab part() tri(num) tri(stg) //Assembler les tableaux tabAscii = tri(num).concat(tri(stg)) return tabAscii } //Gestion d'erreur if(process.argv.length < 4) { console.log('Veuillez indiquer au minimum deux arguments') return } //Parsing let arg = process.argv arg.splice(0, 2) //Résolution du problème triAscii(arg) //Affichage console.log(triAscii(arg)) |