HEX
Server: Apache
System: Linux vps.mmtprep.com 4.18.0-477.21.1.el8_8.x86_64 #1 SMP Thu Aug 10 13:51:50 EDT 2023 x86_64
User: mmtprep (1001)
PHP: 8.1.34
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/4A12-8A9OlShR.js.map
{"version":3,"file":"4A12-8A9OlShR.js","sources":["../../src/exercices/4e/4A12.js"],"sourcesContent":["import { combinaisonListes } from '../../lib/outils/arrayOutils'\nimport { texteEnCouleurEtGras } from '../../lib/outils/embellissements'\nimport { warnMessage } from '../../lib/format/message.js'\nimport { nombreDeChiffresDe } from '../../lib/outils/nombres.js'\nimport { personne } from '../../lib/outils/Personne.js'\nimport { listeNombresPremiersStrictJusqua } from '../../lib/outils/primalite.js'\nimport { nombreAvecEspace } from '../../lib/outils/texNombre.js'\nimport Exercice from '../Exercice.js'\nimport { gestionnaireFormulaireTexte, listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport { ajouteChampTexteMathLive } from '../../lib/interactif/questionMathLive.js'\nimport { svgEngrenages } from '../../modules/macroSvgJs.js'\nimport { context } from '../../modules/context.js'\nimport { setReponse } from '../../lib/interactif/gestionInteractif.js'\n\nexport const interactifReady = true\nexport const interactifType = 'mathLive'\nexport const amcReady = true\nexport const amcType = 'AMCHybride'\n\nexport const titre = 'Solve phenomena conjunction problems'\n\nexport const dateDeModifImportante = '10/10/2022'\n\n/**\n * Problèmes d'événements récurrents avec résolution à l'aide de décompositions en produits de facteurs premiers\n * @author Guillaume Valmont\n * Référence 4A12\n * 30/10/2021\n * Ajout de questions possibles le 10/10/2022 par Guillaume Valmont\n */\nexport const uuid = 'b16c6'\nexport const ref = '4A12'\nexport default function ProblemesEvenementsRecurrents () {\n  Exercice.call(this)\n  this.nbQuestions = 1\n  this.sup = 1\n  this.besoinFormulaireNumerique = ['Difficulty', 3, '1: 1 common factor, 1 specific factor\\n2: 2 common factors, 1 specific factor\\n3: 2 common factors, 2 specific factors']\n  this.besoinFormulaire2Texte = ['Type of statement', 'Numbers separated by hyphens:\\n1: Garlands\\n2: Car\\n3: Rocket\\n4: Restaurant - cinema\\n5: Gears\\n6: Mixture']\n  this.sup2 = 6\n  this.correctionDetailleeDisponible = true\n  this.interactif = false\n\n  this.nouvelleVersion = function (numeroExercice) {\n    this.listeQuestions = []\n    this.listeCorrections = []\n    this.autoCorrection = []\n\n    const preListePremiers = listeNombresPremiersStrictJusqua(12)\n    const listePremiers = combinaisonListes(preListePremiers, this.nbQuestions * 5)\n\n    const valMaxParametre = 6\n    const listeDesProblemes = gestionnaireFormulaireTexte({\n      saisie: this.sup2,\n      min: 1,\n      max: valMaxParametre - 1,\n      melange: valMaxParametre,\n      nbQuestions: this.nbQuestions,\n      defaut: 1\n    })\n    const listeDesSaveurs = ['garland', 'car', 'rocket', 'restaurant-cinema', 'gears']\n    const saveurs = []\n    for (const probleme of listeDesProblemes) {\n      saveurs.push(listeDesSaveurs[probleme - 1])\n    }\n    for (let i = 0, texte, texteCorr, indicesFacteursCommuns, indicesFacteursA, indicesFacteursB, Commun, A, B, decompositionCommun, decompositionA, decompositionB, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n      indicesFacteursCommuns = []\n      switch (this.sup) {\n        case 1:\n          indicesFacteursCommuns = [randint(0, 2)]\n          indicesFacteursA = [randint(0, 4, indicesFacteursCommuns)]\n          indicesFacteursB = [randint(0, 4, indicesFacteursCommuns.concat(indicesFacteursA))]\n          Commun = listePremiers[indicesFacteursCommuns[0] + i * 5]\n          A = listePremiers[indicesFacteursA[0] + i * 5]\n          B = listePremiers[indicesFacteursB[0] + i * 5]\n          break\n        case 2:\n          indicesFacteursCommuns = [randint(0, 2), randint(0, 2)]\n          indicesFacteursCommuns = indicesFacteursCommuns.sort()\n          indicesFacteursA = [randint(3, 4, indicesFacteursCommuns)]\n          indicesFacteursB = [randint(3, 4, indicesFacteursCommuns.concat(indicesFacteursA))]\n          Commun = listePremiers[indicesFacteursCommuns[0] + i * 5] * listePremiers[indicesFacteursCommuns[1] + i * 5]\n          A = listePremiers[indicesFacteursA[0] + i * 5]\n          B = listePremiers[indicesFacteursB[0] + i * 5]\n          break\n        case 3:\n          indicesFacteursCommuns = [randint(0, 2), randint(0, 2)]\n          indicesFacteursCommuns = indicesFacteursCommuns.sort((a, b) => a - b)\n          indicesFacteursA = [randint(0, 2), randint(3, 4, indicesFacteursCommuns)]\n          indicesFacteursB = [randint(0, 2, indicesFacteursA), randint(3, 4, indicesFacteursCommuns.concat(indicesFacteursA))]\n          Commun = listePremiers[indicesFacteursCommuns[0] + i * 5] * listePremiers[indicesFacteursCommuns[1] + i * 5]\n          A = listePremiers[indicesFacteursA[0] + i * 5] * listePremiers[indicesFacteursA[1] + i * 5]\n          B = listePremiers[indicesFacteursB[0] + i * 5] * listePremiers[indicesFacteursB[1] + i * 5]\n          break\n        default: // identique au cas 1\n          indicesFacteursCommuns = [randint(0, 2)]\n          indicesFacteursA = [randint(0, 4, indicesFacteursCommuns)]\n          indicesFacteursB = [randint(0, 4, indicesFacteursCommuns.concat(indicesFacteursA))]\n          Commun = listePremiers[indicesFacteursCommuns[0] + i * 5]\n          A = listePremiers[indicesFacteursA[0] + i * 5]\n          B = listePremiers[indicesFacteursB[0] + i * 5]\n          break\n      }\n      let unite, phenomene1, phenomene2, texte1, texte2, texte3, texte4, texte5\n      const typeDeQuestion = randint(1, 3)\n      const Robert = personne()\n      let uniteAMC = 'times'\n      switch (saveurs[i]) {\n        case 'garland':\n          texte = `There is a wire of lights made up of red and green lights.<br>The red lights turn on every ${nombreAvecEspace(Commun * A)} seconds and the green lights every ${nombreAvecEspace(Commun * B)} seconds.<br>At a given moment, we see the red and green lights on at the same time time.<br>`\n          if (this.interactif || context.isAmc) {\n            switch (typeDeQuestion) {\n              case 1:\n                texte += 'After how many seconds will this phenomenon occur again the next time?'\n                uniteAMC = 'seconds'\n                break\n              case 2:\n                texte += 'By the next time this phenomenon occurs, how many times will the red lights come on?'\n                break\n              case 3:\n                texte += 'By the next time this phenomenon occurs, how many times will the green lights come on?'\n                break\n            }\n          } else {\n            texte += 'After how many seconds will this phenomenon occur again the next time?<br>How many times will the red and green lights come on?'\n          }\n          unite = 'seconds'\n          phenomene1 = 'the red lights'\n          phenomene2 = 'the green lights'\n          texte1 = 'The red lights will be on'\n          texte2 = 'green lights'\n          texte3 = 'Red and green lights will be on at the same time'\n          texte4 = 'the time needed for them to turn on again the first time simultaneously'\n          texte5 = 'will light up'\n          break\n        case 'car':\n          texte = `For the maintenance of its car, ${Robert.prenom} wants to stick to a very precise schedule:<br>${Robert.pronom} cleans the interior of its car every ${nombreAvecEspace(Commun * A)} day and the exterior every ${nombreAvecEspace(Commun * B)} day.<br>Today, ${Robert.pronom} did both.<br>`\n          if (this.interactif || context.isAmc) {\n            switch (typeDeQuestion) {\n              case 1:\n                texte += `After how many days will ${Robert.pronom} be done on the same day?`\n                uniteAMC = 'days'\n                break\n              case 2:\n                texte += `Until the next time ${Robert.pronom} does both in the same day, how many times will ${Robert.pronom} clean the interior of his car?`\n                break\n              case 3:\n                texte += `Until the next time ${Robert.pronom} does both in the same day, how many times will ${Robert.pronom} clean the interior of his car?`\n                break\n            }\n          } else {\n            texte += `After how many days will ${Robert.pronom} do both in the same day?<br>How many times will ${Robert.pronom} have cleaned the interior and exterior of his car?`\n          }\n          unite = 'days'\n          phenomene1 = 'interior cleaning'\n          phenomene2 = 'exterior cleaning'\n          texte1 = 'The interior will be cleaned'\n          texte2 = 'the outside'\n          texte3 = 'Interior and exterior cleaning will take place on the same day'\n          texte4 = 'the number of days before interior and exterior cleaning'\n          texte5 = 'will'\n          break\n        case 'rocket':\n          texte = `For the maintenance of its rocket, ${Robert.prenom} must stick to a very precise schedule:<br>${Robert.pronom} replaces the fairing every ${nombreAvecEspace(Commun * A)} day and the boosters every ${nombreAvecEspace(Commun * B)} day.<br>Today, ${Robert.pronom} has done both. <br>`\n          if (this.interactif || context.isAmc) {\n            switch (typeDeQuestion) {\n              case 1:\n                texte += `After how many days will ${Robert.pronom} be done on the same day?`\n                uniteAMC = 'days'\n                break\n              case 2:\n                texte += `By the next time ${Robert.pronom} does both in the same day, how many times will ${Robert.pronom} replace its rocket fairing?`\n                break\n              case 3:\n                texte += `By the next time ${Robert.pronom} does both in the same day, how many times will ${Robert.pronom} replace its rocket's boosters?`\n                break\n            }\n          } else {\n            texte += `After how many days will ${Robert.pronom} do both in the same day?<br>How many times will ${Robert.pronom} have replaced the fairing and boosters of its rocket?`\n          }\n          unite = 'days'\n          phenomene1 = 'the cuff replacement'\n          phenomene2 = 'the boosters replacement'\n          texte1 = 'The headdress will be replaced'\n          texte2 = 'the boosters'\n          texte3 = 'The replacement of the cap and boosters will take place the same day'\n          texte4 = 'the number of days before replacement of the cap and boosters'\n          texte5 = 'will'\n          break\n        case 'restaurant-cinema':\n          texte = `For this year's resolution, ${Robert.prenom} has decided not to overindulge in good things:<br>${Robert.pronom} grants itself the right to go to the restaurant every ${nombreAvecEspace(Commun * A)} day and to go to the cinema every ${nombreAvecEspace(Commun * B)} day.<br> Today, ${Robert.pronom} has created a “restaurant-cinema”.<br>`\n          if (this.interactif || context.isAmc) {\n            switch (typeDeQuestion) {\n              case 1:\n                texte += 'After how many days will there be another restaurant - cinema?'\n                uniteAMC = 'days'\n                break\n              case 2:\n                texte += `By the next time ${Robert.pronom} goes to another restaurant - movie, how many times will ${Robert.pronom} go to a restaurant?`\n                break\n              case 3:\n                texte += `By the next time ${Robert.pronom} goes to another restaurant - cinema, how many times will ${Robert.pronom === 'he' ? '' : 'e'} go to the cinema?`\n                break\n            }\n          } else {\n            texte += `After how many days will ${Robert.pronom} go to another restaurant and cinema?<br>How many times will ${Robert.pronom} go to a restaurant and cinema?`\n          }\n          unite = 'days'\n          phenomene1 = 'go to the restaurant'\n          phenomene2 = 'go to the cinema'\n          texte1 = `${Robert.Pronom} goes to the restaurant`\n          texte2 = 'At the movie theater'\n          texte3 = `${Robert.pronom} will once again be a “restaurant-cinema”`\n          texte4 = 'the number of days before the next “restaurant-cinema”'\n          break\n        case 'gears':\n          texte = `In a gear, a first wheel has ${nombreAvecEspace(Commun * A)} teeth and a second has ${nombreAvecEspace(Commun * B)} teeth. They rotate until they return (for the first time) to the initial position.<br>`\n          if (this.interactif || context.isAmc) {\n            switch (typeDeQuestion) {\n              case 1:\n                texte += 'How many teeth will each wheel have turned?'\n                uniteAMC = 'teeth'\n                break\n              case 2:\n                texte += 'How many revolutions will the first wheel have completed?'\n                uniteAMC = 'towers'\n                break\n              case 3:\n                texte += 'How many revolutions will the second wheel have made?'\n                uniteAMC = 'towers'\n                break\n              default:\n                break\n            }\n          } else {\n            texte += 'How many teeth will each wheel have turned?<br>How many turns will each wheel have made?'\n          }\n          unite = 'teeth'\n          phenomene1 = 'the first wheel'\n          phenomene2 = 'the second wheel'\n          texte1 = 'The first will take a turn'\n          texte2 = 'the second'\n          texte3 = 'They will return to their initial position'\n          texte4 = 'the number of teeth before returning to the initial position for the first time'\n          break\n        default:\n          break\n      }\n      let txtIntro = ''\n      if (context.isHtml && saveurs[i] === 'gears') {\n        // eslint-disable-next-line no-var\n        var pourcentage = '100%'\n        const idUnique = `${numeroExercice}_${Date.now()}`\n        const idDivIntro = `divIntro${idUnique}`\n        txtIntro += warnMessage('Please note, the wheels below do not have the number of teeth stated!', 'numbers', 'Help')\n        txtIntro += `<div id=\"${idDivIntro}\" style=\"width: ${pourcentage}; height: 50px; display: table \"></div>`\n        svgEngrenages(idDivIntro, 200, 200)\n      } else {\n        txtIntro = ''\n      }\n      this.introduction = txtIntro\n      switch (this.sup) {\n        case 1:\n          decompositionCommun = texteEnCouleurEtGras(nombreAvecEspace(Commun), 'blue')\n          decompositionA = texteEnCouleurEtGras(nombreAvecEspace(A), 'red')\n          decompositionB = texteEnCouleurEtGras(nombreAvecEspace(B), 'green')\n          break\n        case 2:\n          decompositionCommun = `${texteEnCouleurEtGras(nombreAvecEspace(listePremiers[indicesFacteursCommuns[0] + i * 5]), 'blue')} $\\\\times$ ${texteEnCouleurEtGras(nombreAvecEspace(listePremiers[indicesFacteursCommuns[1] + i * 5]), 'blue')}`\n          decompositionA = texteEnCouleurEtGras(nombreAvecEspace(A), 'red')\n          decompositionB = texteEnCouleurEtGras(nombreAvecEspace(B), 'green')\n          break\n        case 3:\n          decompositionCommun = `${texteEnCouleurEtGras(nombreAvecEspace(listePremiers[indicesFacteursCommuns[0] + i * 5]), 'blue')} $\\\\times$ ${texteEnCouleurEtGras(nombreAvecEspace(listePremiers[indicesFacteursCommuns[1] + i * 5]), 'blue')}`\n          decompositionA = `${texteEnCouleurEtGras(nombreAvecEspace(listePremiers[indicesFacteursA[0] + i * 5]), 'red')} $\\\\times$ ${texteEnCouleurEtGras(nombreAvecEspace(listePremiers[indicesFacteursA[1] + i * 5]), 'red')}`\n          decompositionB = `${texteEnCouleurEtGras(nombreAvecEspace(listePremiers[indicesFacteursB[0]]), 'green')} $\\\\times$ ${texteEnCouleurEtGras(nombreAvecEspace(listePremiers[indicesFacteursB[1] + i * 5]), 'green')}`\n          break\n\n        default:\n          decompositionCommun = texteEnCouleurEtGras(nombreAvecEspace(Commun), 'blue')\n          decompositionA = texteEnCouleurEtGras(nombreAvecEspace(A), 'red')\n          decompositionB = texteEnCouleurEtGras(nombreAvecEspace(B), 'green')\n          break\n      }\n      texteCorr = ''\n      if (this.correctionDetaillee) {\n        texteCorr += `${texte1} to each multiple of ${texteEnCouleurEtGras(nombreAvecEspace(Commun * A), 'red')} ${unite}, ${texte2} to each multiple of ${texteEnCouleurEtGras(nombreAvecEspace(Commun * B), 'green')} ${unite}.<br>${texte3} to each common multiple of ${texteEnCouleurEtGras(nombreAvecEspace(Commun * A), 'red')} and ${texteEnCouleurEtGras(nombreAvecEspace(Commun * B), 'green')}.<br>To find ${texte4}, we look for the smallest multiple that they have in common. <br>One way to do this is to decompose the ${unite} numbers into products of prime factors and identify the differences between the decompositions:<br>`\n      }\n      if (this.sup === 3) {\n        if (indicesFacteursA[0] >= indicesFacteursCommuns[1]) {\n          texteCorr += `${texteEnCouleurEtGras(nombreAvecEspace(Commun * A), 'red')} = ${texteEnCouleurEtGras(listePremiers[indicesFacteursCommuns[0] + i * 5], 'blue')} $\\\\times$ ${texteEnCouleurEtGras(listePremiers[indicesFacteursCommuns[1] + i * 5], 'blue')} $\\\\times$ ${texteEnCouleurEtGras(listePremiers[indicesFacteursA[0] + i * 5], 'red')} $\\\\times$ ${texteEnCouleurEtGras(listePremiers[indicesFacteursA[1] + i * 5], 'red')} <br>`\n        } else if (indicesFacteursA[0] >= indicesFacteursCommuns[0] && indicesFacteursA[0] < indicesFacteursCommuns[1]) {\n          texteCorr += `${texteEnCouleurEtGras(nombreAvecEspace(Commun * A), 'red')} = ${texteEnCouleurEtGras(listePremiers[indicesFacteursCommuns[0] + i * 5], 'blue')} $\\\\times$ ${texteEnCouleurEtGras(listePremiers[indicesFacteursA[0] + i * 5], 'red')} $\\\\times$ ${texteEnCouleurEtGras(listePremiers[indicesFacteursCommuns[1] + i * 5], 'blue')} $\\\\times$ ${texteEnCouleurEtGras(listePremiers[indicesFacteursA[1] + i * 5], 'red')} <br>`\n        } else if (indicesFacteursA[0] < indicesFacteursCommuns[0]) {\n          texteCorr += `${texteEnCouleurEtGras(nombreAvecEspace(Commun * A), 'red')} = ${texteEnCouleurEtGras(listePremiers[indicesFacteursA[0] + i * 5], 'red')} $\\\\times$ ${texteEnCouleurEtGras(listePremiers[indicesFacteursCommuns[0] + i * 5], 'blue')} $\\\\times$ ${texteEnCouleurEtGras(listePremiers[indicesFacteursCommuns[1] + i * 5], 'blue')} $\\\\times$ ${texteEnCouleurEtGras(listePremiers[indicesFacteursA[1] + i * 5], 'red')} <br>`\n        }\n        if (indicesFacteursB[0] >= indicesFacteursCommuns[1]) {\n          texteCorr += `${texteEnCouleurEtGras(nombreAvecEspace(Commun * B), 'green')} = ${texteEnCouleurEtGras(listePremiers[indicesFacteursCommuns[0] + i * 5], 'blue')} $\\\\times$ ${texteEnCouleurEtGras(listePremiers[indicesFacteursCommuns[1] + i * 5], 'blue')} $\\\\times$ ${texteEnCouleurEtGras(listePremiers[indicesFacteursB[0]], 'green')} $\\\\times$ ${texteEnCouleurEtGras(listePremiers[indicesFacteursB[1] + i * 5], 'green')} <br>`\n        } else if (indicesFacteursB[0] >= indicesFacteursCommuns[0] && indicesFacteursB[0] < indicesFacteursCommuns[1]) {\n          texteCorr += `${texteEnCouleurEtGras(nombreAvecEspace(Commun * B), 'green')} = ${texteEnCouleurEtGras(listePremiers[indicesFacteursCommuns[0] + i * 5], 'blue')} $\\\\times$ ${texteEnCouleurEtGras(listePremiers[indicesFacteursB[0]], 'green')} $\\\\times$ ${texteEnCouleurEtGras(listePremiers[indicesFacteursCommuns[1] + i * 5], 'blue')} $\\\\times$ ${texteEnCouleurEtGras(listePremiers[indicesFacteursB[1] + i * 5], 'green')} <br>`\n        } else if (indicesFacteursB[0] < indicesFacteursCommuns[0]) {\n          texteCorr += `${texteEnCouleurEtGras(nombreAvecEspace(Commun * B), 'green')} = ${texteEnCouleurEtGras(listePremiers[indicesFacteursB[0]], 'green')} $\\\\times$ ${texteEnCouleurEtGras(listePremiers[indicesFacteursCommuns[0] + i * 5], 'blue')} $\\\\times$ ${texteEnCouleurEtGras(listePremiers[indicesFacteursCommuns[1] + i * 5], 'blue')} $\\\\times$ ${texteEnCouleurEtGras(listePremiers[indicesFacteursB[1] + i * 5], 'green')} <br>`\n        }\n      } else {\n        texteCorr += `${texteEnCouleurEtGras(nombreAvecEspace(Commun * A), 'red')} = ${decompositionCommun} $\\\\times$ ${decompositionA} <br>${texteEnCouleurEtGras(nombreAvecEspace(Commun * B), 'green')} = ${decompositionCommun} $\\\\times$ ${decompositionB}<br>`\n      }\n      if (this.correctionDetaillee) {\n        texteCorr += 'We multiply the factors common to the two decompositions with the factors specific to each decomposition:<br>'\n      }\n      texteCorr += `${decompositionCommun} $\\\\times$ ${decompositionA} $\\\\times$ ${decompositionB} = ${nombreAvecEspace(Commun * A * B)}<br>This phenomenon will occur again after ${nombreAvecEspace(Commun * A * B)} ${unite}, `\n      if (saveurs[i] === 'restaurant-cinema') {\n        texteCorr += `when ${Robert.pronom} ${texteEnCouleurEtGras('will go to the restaurant', 'red')} for cycle number ${texteEnCouleurEtGras(nombreAvecEspace(B), 'green')} and ${Robert.pronom} ${texteEnCouleurEtGras('will go to the cinema', 'green')} for cycle number ${texteEnCouleurEtGras(nombreAvecEspace(A), 'red')}.<br>`\n      } else if (saveurs[i] === 'gears') {\n        texteCorr += `when ${texteEnCouleurEtGras('the first wheel', 'red')} has made ${texteEnCouleurEtGras(nombreAvecEspace(B), 'green')} turns and ${texteEnCouleurEtGras('the second wheel', 'green')} has made ${texteEnCouleurEtGras(nombreAvecEspace(A), 'red')} turns.<br>`\n      } else {\n        texteCorr += `when ${texteEnCouleurEtGras(phenomene1, 'red')} ${texte5} for cycle number ${texteEnCouleurEtGras(nombreAvecEspace(B), 'green')} and when ${texteEnCouleurEtGras(phenomene2, 'green')} ${texte5} for cycle number ${texteEnCouleurEtGras(nombreAvecEspace(A), 'red')}.<br>`\n      }\n      if (this.correctionDetaillee) {\n        texteCorr += `<br>${nombreAvecEspace(Commun * A * B)} is indeed a multiple of ${texteEnCouleurEtGras(nombreAvecEspace(Commun * A), 'red')} because:${decompositionCommun} $\\\\times$ ${decompositionA} $\\\\times$ ${decompositionB} =(${decompositionCommun} $\\\\times$ ${decompositionA}) $\\\\times$ ${decompositionB} =${texteEnCouleurEtGras(nombreAvecEspace(Commun * A), 'red')} $\\\\times$ ${texteEnCouleurEtGras(nombreAvecEspace(B), 'green')}. <br>${nombreAvecEspace(Commun * A * B)} is indeed a multiple of ${texteEnCouleurEtGras(nombreAvecEspace(Commun * B), 'green')} because:${decompositionCommun} $\\\\times$ ${decompositionA} $\\\\times$ ${decompositionB} =${decompositionCommun} $\\\\times$ ${decompositionB} $\\\\times$ ${decompositionA} =(${decompositionCommun} $\\\\times$ ${decompositionB}) $ \\\\times$ ${decompositionA} =${texteEnCouleurEtGras(nombreAvecEspace(Commun * B), 'green')} $\\\\times$ ${texteEnCouleurEtGras(nombreAvecEspace(A), 'red')}.<br>`\n      }\n      let bonneReponse = Commun * A * B\n      switch (typeDeQuestion) {\n        case 2:\n          bonneReponse = B\n          break\n        case 3:\n          bonneReponse = A\n          break\n      }\n\n      setReponse(this, i, bonneReponse)\n\n      if (this.interactif && !context.isAmc) { // Si l'exercice est interactif\n        if (typeDeQuestion > 1) {\n          if (saveurs[i] === 'gears') {\n            texte += ajouteChampTexteMathLive(this, i, 'inline width 25', { texteApres: ' towers' })\n          } else {\n            texte += ajouteChampTexteMathLive(this, i, 'inline width 25', { texteApres: ' times' })\n          }\n        } else {\n          texte += ajouteChampTexteMathLive(this, i, 'inline width 25', { texteApres: ' ' + unite })\n        }\n      }\n      if (context.isAmc) {\n        this.autoCorrection[i] = {\n          enonce: '',\n          enonceAvant: false,\n          propositions: [\n            {\n              type: 'AMCOpen',\n              propositions: [{\n                texte: texteCorr,\n                enonce: texte + '<br>',\n                statut: 4,\n                pointilles: false\n              }]\n            },\n            {\n              type: 'AMCNum',\n              propositions: [{\n                texte: '',\n                statut: '',\n                reponse: {\n                  texte: 'Number of' + uniteAMC + ' :',\n                  valeur: [bonneReponse],\n                  param: {\n                    digits: Math.max(3, nombreDeChiffresDe(bonneReponse)),\n                    decimals: 0,\n                    signe: false,\n                    approx: 0\n                  }\n                }\n              }]\n            }\n          ]\n        }\n      }\n\n      if (this.questionJamaisPosee(i, Commun, A * B)) {\n        this.listeQuestions.push(texte)\n        this.listeCorrections.push(texteCorr)\n        i++\n      }\n      cpt++\n    }\n    listeQuestionsToContenu(this)\n  }\n}\n"],"names":["interactifReady","interactifType","amcReady","amcType","titre","dateDeModifImportante","uuid","ref","ProblemesEvenementsRecurrents","Exercice","numeroExercice","preListePremiers","listeNombresPremiersStrictJusqua","listePremiers","combinaisonListes","valMaxParametre","listeDesProblemes","gestionnaireFormulaireTexte","listeDesSaveurs","saveurs","probleme","i","texte","texteCorr","indicesFacteursCommuns","indicesFacteursA","indicesFacteursB","Commun","A","B","decompositionCommun","decompositionA","decompositionB","cpt","randint","a","b","unite","phenomene1","phenomene2","texte1","texte2","texte3","texte4","texte5","typeDeQuestion","Robert","personne","uniteAMC","nombreAvecEspace","context","txtIntro","pourcentage","idDivIntro","warnMessage","svgEngrenages","texteEnCouleurEtGras","bonneReponse","setReponse","ajouteChampTexteMathLive","nombreDeChiffresDe","listeQuestionsToContenu"],"mappings":"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"}