File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/3A10-4-3txQIcaN.js.map
{"version":3,"file":"3A10-4-3txQIcaN.js","sources":["../../src/exercices/3e/3A10-4.js"],"sourcesContent":["import { miseEnEvidence } from '../../lib/outils/embellissements'\nimport { modalPdf, modalVideo } from '../../lib/outils/modales.js'\nimport { numAlpha } from '../../lib/outils/outilString.js'\nimport { cribleEratostheneN, listeDesDiviseurs } from '../../lib/outils/primalite.js'\nimport { texNombre } from '../../lib/outils/texNombre.js'\nimport Exercice from '../Exercice.js'\nimport { context } from '../../modules/context.js'\nimport {\n listeQuestionsToContenu,\n randint\n} from '../../modules/outils.js'\nimport { tableauColonneLigne } from '../../lib/2d/tableau.js'\n\nexport const titre = 'Count and list the divisors of an integer from its decomposition into prime factors'\n\n/**\n * Compter et lister les diviseurs d'un entier à partir de sa decomposition en facteurs premiers\n * @author Sébastien Lozano\n * Référence 3A10-4\n */\nexport const uuid = '4117b'\nexport const ref = '3A10-4'\nexport default function ListerDiviseursParDecompositionFacteursPremiers () {\n Exercice.call(this) // Héritage de la classe Exercice()\n this.sup = false\n this.titre = titre\n // no difference between the html version and the latex version for the instructions\n this.consigne = 'Without the calculator, count/list the divisors of an integer based on its decomposition into prime factors.'\n // this.setpoint += `<br>`;\n context.isHtml ? this.spacing = 2 : this.spacing = 1\n context.isHtml ? this.spacingCorr = 2 : this.spacingCorr = 1\n this.nbQuestions = 2\n // this.DetailedCorrectionAvailable = true;\n this.nbCols = 1\n this.nbColsCorr = 1\n\n this.nouvelleVersion = function (numeroExercice) {\n // let QuestionTypes\n if (context.isHtml) { // les boutons d'aide uniquement pour la version html\n // this.helpbutton = '';\n this.boutonAide = modalPdf(numeroExercice, 'assets/pdf/FicheArithmetique-3A11.pdf', 'Memory aid on prime numbers (Sébastien Lozano)', 'Memory aid')\n this.boutonAide += modalVideo('storyMathNumbersPrime', 'https://coopmaths.fr/videos/LesNombresPremiers.mp4', 'Little mathematical tale - Prime Numbers', 'Intro Video')\n } else { // sortie LaTeX\n }\n\n this.listeQuestions = [] // Liste de questions\n this.listeCorrections = [] // Liste de questions corrigées\n this.contenu = '' // Liste de questions\n this.contenuCorrection = '' // Liste de questions corrigées\n\n // const AvailableQuestionTypes = [1]\n // let AvailableQuestionTypes = [1];\n // const listQuestionTypes = combinationListsWithoutChangeOrder(AvailableQuestionTypes, this.nbQuestions)\n\n for (let i = 0, texte, texteCorr, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n // QuestionTypes = QuestionTypelist[i]\n\n // switch (questiontypes) {\n // case 1: // list/count the divisors of an integer from its decomposition into prime factors\n texte = 'List/count the divisors of an integer from its decomposition into prime factors'\n // let first_dispos = firstBetweenBornes(2,11);\n // we set the number of prime factors to 3\n const nbDePremiersb = 3\n // we set the limit for the choice of the first\n let maxPremierb\n if (this.sup) maxPremierb = 13\n else maxPremierb = 11\n // we set the maximum rank for the choice of the first\n const rgMaxb = cribleEratostheneN(maxPremierb).length - 1\n // we choose the ranks for the prime numbers\n const tabRangsb = []\n const tabRangsExclusb = []\n for (let k = 0; k < (nbDePremiersb); k++) {\n for (let m = 0; m < k; m++) {\n tabRangsExclusb.push(tabRangsb[m])\n }\n tabRangsb[k] = randint(0, rgMaxb, tabRangsExclusb)\n }\n\n // we choose the first\n const tabPremiersb = []\n for (let k = 0; k < tabRangsb.length; k++) {\n tabPremiersb[k] = cribleEratostheneN(maxPremierb)[tabRangsb[k]]\n }\n\n // we arrange the prime factors in ascending order\n tabPremiersb.sort(function (a, b) {\n return a - b\n })\n // we choose the multiplicities\n const tabMultiplicitesb = []\n for (let k = 0; k < tabRangsb.length; k++) {\n tabMultiplicitesb[k] = randint(1, this.sup ? 4 : 2)\n }\n\n texte = ''\n let nombreADecomposerb = 1\n for (let k = 0; k < tabRangsb.length; k++) {\n for (let m = 0; m < tabMultiplicitesb[k]; m++) {\n nombreADecomposerb = nombreADecomposerb * tabPremiersb[k]\n }\n }\n\n texte += `The prime factorization of $${texNombre(nombreADecomposerb)}$ is: $`\n if (tabMultiplicitesb[0] === 1) {\n texte += `${tabPremiersb[0]}`\n } else {\n texte += `${tabPremiersb[0]}^{${tabMultiplicitesb[0]}}`\n }\n\n for (let k = 1; k < tabPremiersb.length; k++) {\n if (tabMultiplicitesb[k] === 1) {\n texte += `\\\\times ${tabPremiersb[k]}`\n } else {\n texte += `\\\\times ${tabPremiersb[k]}^{${tabMultiplicitesb[k]}}`\n }\n }\n\n texte += '$. <br>'\n texte += numAlpha(0) + ' Complete the table below.'\n if (!context.isHtml) {\n texte += '$\\\\medskip$'\n }\n\n // we create the table of row headers and columns\n let entLignes = []\n const contenuLignes = []\n let entColonnes = ['\\\\times']\n // line headers\n for (let k = 0; k < tabMultiplicitesb[0] + 1; k++) {\n entLignes.push('\\\\phantom{larger}' + tabPremiersb[0] + '^{' + k + '}\\\\phantom{larger}')\n }\n\n // column headers\n for (let m = 0; m < tabMultiplicitesb[1] + 1; m++) {\n for (let l = 0; l < tabMultiplicitesb[2] + 1; l++) {\n entColonnes.push(tabPremiersb[1] + '^{' + m + '}\\\\times' + tabPremiersb[2] + '^{' + l + '}')\n }\n }\n\n // array for circular permutation\n const tabTemp = entLignes\n // we assign the lines there\n\n // remove the x from the column header\n entColonnes.shift()\n // we assign this to the lines;\n entLignes = entColonnes\n // we put the x back into columns and add the rest\n entColonnes = ['\\\\times'].concat(tabTemp)\n // the contents of the lines\n for (let l = 0; l < (tabMultiplicitesb[0] + 1); l++) {\n for (let c = 1; c < (tabMultiplicitesb[1] + 1) * (tabMultiplicitesb[2] + 1) + 1; c++) {\n // contentLines.push(`l: `+l+`, c: `+Number(c));\n contenuLignes.push('')\n }\n }\n\n texte += '<br>'\n texte += tableauColonneLigne(entColonnes, entLignes, contenuLignes)\n if (!context.isHtml) {\n texte += '$\\\\medskip$'\n }\n\n texte += '<br>'\n texte += numAlpha(1) + ` Deduce the number of divisors of $${texNombre(nombreADecomposerb)}$.<br>`\n texte += numAlpha(2) + ` Finally, list the divisors of $${texNombre(nombreADecomposerb)}$.<br>`\n\n // correction\n texteCorr = `With the decomposition into prime factors of $${texNombre(nombreADecomposerb)}$ which is: $`\n if (tabMultiplicitesb[0] === 1) {\n texteCorr += `${tabPremiersb[0]}`\n } else {\n texteCorr += `${tabPremiersb[0]}^{${tabMultiplicitesb[0]}}`\n }\n\n for (let k = 1; k < tabPremiersb.length; k++) {\n if (tabMultiplicitesb[k] === 1) {\n texteCorr += `\\\\times ${tabPremiersb[k]}`\n } else {\n texteCorr += `\\\\times ${tabPremiersb[k]}^{${tabMultiplicitesb[k]}}`\n }\n }\n\n texteCorr += '$: <br>'\n texteCorr += numAlpha(0) + ' The table gives: '\n // we create the table of row headers and columns\n let entLignesCorr = []\n let entLignesCorrRes = []\n const contenuLignesCorr = []\n // let contentLinesCorr_res = [];\n let entColonnesCorr = ['\\\\times']\n let entColonnesCorrRes = [1]\n // line headers\n for (let k = 0; k < tabMultiplicitesb[0] + 1; k++) {\n entLignesCorr.push(tabPremiersb[0] + '^{' + k + '}')\n entLignesCorrRes.push(tabPremiersb[0] ** k)\n }\n\n // column headers\n for (let m = 0; m < tabMultiplicitesb[1] + 1; m++) {\n for (let l = 0; l < tabMultiplicitesb[2] + 1; l++) {\n entColonnesCorr.push(tabPremiersb[1] + '^{' + m + '}\\\\times' + tabPremiersb[2] + '^{' + l + '}')\n entColonnesCorrRes.push(tabPremiersb[1] ** m * tabPremiersb[2] ** l)\n }\n }\n\n // tables for circular permutations\n const tabTempCorr = entLignesCorr\n const tab1TempCorr = entLignesCorrRes\n // we assign the lines there\n // remove the x from the column header\n entColonnesCorr.shift()\n entColonnesCorrRes.shift()\n // we assign this to the lines;\n entLignesCorr = entColonnesCorr\n entLignesCorrRes = entColonnesCorrRes\n // we put the x back into columns and add the rest\n entColonnesCorr = ['\\\\times'].concat(tabTempCorr)\n entColonnesCorrRes = [1].concat(tab1TempCorr)\n // the contents of the lines\n for (let l = 0; l < (tabMultiplicitesb[1] + 1) * (tabMultiplicitesb[2] + 1); l++) {\n for (let c = 1; c < (tabMultiplicitesb[0] + 2); c++) {\n // contentLinesCorr.push(`l: `+l+`, c: `+Number(c));\n contenuLignesCorr.push(entLignesCorr[l] + '\\\\times' + entColonnesCorr[c] + '=' + miseEnEvidence(texNombre(entLignesCorrRes[l] * entColonnesCorrRes[c])))\n }\n }\n\n texteCorr += '<br>'\n texteCorr += tableauColonneLigne(entColonnesCorr, entLignesCorr, contenuLignesCorr)\n texteCorr += '<br>'\n texteCorr += numAlpha(1) + ` $${texNombre(nombreADecomposerb)}$ therefore has`\n texteCorr += `$(${tabMultiplicitesb[0]}+1)\\\\times(${tabMultiplicitesb[1]}+1)\\\\times(${tabMultiplicitesb[2]}+1) =`\n texteCorr += `${tabMultiplicitesb[0] + 1}\\\\times${tabMultiplicitesb[1] + 1}\\\\times${tabMultiplicitesb[2] + 1} =`\n texteCorr += `${(tabMultiplicitesb[0] + 1) * (tabMultiplicitesb[1] + 1) * (tabMultiplicitesb[2] + 1)}$ divisors.<br>`\n texteCorr += 'Indeed, in the decomposition appears: '\n texteCorr += ` <br> - The prime factor $${tabPremiersb[0]}$ with the multiplicity $${tabMultiplicitesb[0]}$`\n texteCorr += `, the factor $${tabPremiersb[0]}$ therefore appears in the form:`\n for (let k = 0; k < tabMultiplicitesb[0]; k++) {\n texteCorr += `$${tabPremiersb[0]}^{` + k + '}$ or'\n }\n\n texteCorr += `$${tabPremiersb[0]}^{` + tabMultiplicitesb[0] + `}$ hence the factor $(${tabMultiplicitesb[0]}+1)$.`\n\n texteCorr += ` <br> - The prime factor $${tabPremiersb[1]}$ with the multiplicity $${tabMultiplicitesb[1]}$`\n texteCorr += `, the factor $${tabPremiersb[1]}$ therefore appears in the form:`\n for (let k = 0; k < tabMultiplicitesb[1]; k++) {\n texteCorr += `$${tabPremiersb[1]}^{` + k + '}$ or'\n }\n\n texteCorr += `$${tabPremiersb[1]}^{` + tabMultiplicitesb[1] + `}$ hence the factor $(${tabMultiplicitesb[1]}+1)$.`\n\n texteCorr += ` <br> - The prime factor $${tabPremiersb[2]}$ with the multiplicity $${tabMultiplicitesb[2]}$`\n texteCorr += `, the factor $${tabPremiersb[2]}$ therefore appears in the form:`\n for (let k = 0; k < tabMultiplicitesb[2]; k++) {\n texteCorr += `$${tabPremiersb[2]}^{` + k + '}$ or'\n }\n\n texteCorr += `$${tabPremiersb[2]}^{` + tabMultiplicitesb[2] + `}$ hence the factor $(${tabMultiplicitesb[2]}+1)$.`\n texteCorr += '<br>'\n texteCorr += numAlpha(2) + ` Finally, here is the list of $${(tabMultiplicitesb[0] + 1) * (tabMultiplicitesb[1] + 1) * (tabMultiplicitesb[2] + 1)}$ divisors of $${texNombre(nombreADecomposerb)}$ from the table above:`\n texteCorr += '$1'\n for (let w = 1; w < listeDesDiviseurs(nombreADecomposerb).length; w++) {\n texteCorr += '\\\\text{ ; }' + texNombre(listeDesDiviseurs(nombreADecomposerb)[w])\n }\n\n texteCorr += '.$'\n // break\n // };\n\n if (this.listeQuestions.indexOf(texte) === -1) { // Si la question n'a jamais été posée, on en créé une autre\n this.listeQuestions.push(texte)\n this.listeCorrections.push(texteCorr)\n i++\n }\n cpt++\n }\n\n listeQuestionsToContenu(this)\n }\n // this.needNumericalForm = ['Rule to work',5,\"1: Product of two powers of the same base\\n2: Quotient of two powers of the same base\\n3: Power of power\\n4: Product of powers of the same exponent \\n5: Mix\"];\n}\n"],"names":["titre","uuid","ref","ListerDiviseursParDecompositionFacteursPremiers","Exercice","context","numeroExercice","modalPdf","modalVideo","i","texte","texteCorr","cpt","nbDePremiersb","maxPremierb","rgMaxb","cribleEratostheneN","tabRangsb","tabRangsExclusb","k","m","randint","tabPremiersb","a","b","tabMultiplicitesb","nombreADecomposerb","texNombre","numAlpha","entLignes","contenuLignes","entColonnes","l","tabTemp","c","tableauColonneLigne","entLignesCorr","entLignesCorrRes","contenuLignesCorr","entColonnesCorr","entColonnesCorrRes","tabTempCorr","tab1TempCorr","miseEnEvidence","w","listeDesDiviseurs","listeQuestionsToContenu"],"mappings":"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"}