{"id":1377,"date":"2026-05-14T18:49:17","date_gmt":"2026-05-14T18:49:17","guid":{"rendered":"https:\/\/cuentoskecuentan.com\/?page_id=1377"},"modified":"2026-05-18T15:30:14","modified_gmt":"2026-05-18T15:30:14","slug":"least-common-denominator","status":"publish","type":"page","link":"https:\/\/cuentoskecuentan.com\/?page_id=1377","title":{"rendered":"Least Common Denominator"},"content":{"rendered":"\n<div class=\"lcdBox793d7a\">\n  <div class=\"lcdCard793d7a\">\n\n    <h3>\n      LCD \u2022 Least Common Denominator<br>\n      MCD \u2022 M\u00ednimo Com\u00fan Denominador\n    <\/h3>\n\n    <div class=\"definition793d7a\">\n      El <strong>LCD (Least Common Denominator)<\/strong>\n      o <strong>MCD (M\u00ednimo Com\u00fan Denominador)<\/strong>\n      es el n\u00famero m\u00e1s peque\u00f1o que puede dividirse exactamente\n      entre dos denominadores.\n    <\/div>\n\n    <div class=\"map793d7a\">\n\n      <div class=\"ruleCard793d7a\">\n        <div class=\"emoji793d7a\">&#x1f7e3;<\/div>\n        <strong>Caso A<\/strong>\n        Si el n\u00famero mayor divide al menor,\n        entonces el LCD es el n\u00famero mayor.\n      <\/div>\n\n      <div class=\"ruleCard793d7a\">\n        <div class=\"emoji793d7a\">&#x1f7e3;<\/div>\n        <strong>Caso B<\/strong>\n        Si los n\u00fameros no comparten factores,\n        se multiplican entre s\u00ed.\n      <\/div>\n\n      <div class=\"ruleCard793d7a\">\n        <div class=\"emoji793d7a\">&#x1f7e3;<\/div>\n        <strong>Caso C<\/strong>\n        Busca m\u00faltiplos comunes\n        hasta encontrar el primero.\n      <\/div>\n\n      <div class=\"ruleCard793d7a\">\n        <div class=\"emoji793d7a\">&#x1f7e2;<\/div>\n        <strong>Caso D<\/strong>\n        Si uno de los n\u00fameros es primo,\n        revisa si comparte factores.\n        Si no comparte ninguno,\n        multipl\u00edcalos.\n      <\/div>\n\n    <\/div>\n\n    <div class=\"level793d7a\"\n         id=\"level793d7a\">\n      Nivel 1 \u2022 F\u00e1cil\n    <\/div>\n\n    <div class=\"exercise793d7a\">\n\n      <div class=\"fraction793d7a\">\n        <span class=\"top793d7a\">1<\/span>\n        <div class=\"line793d7a\"><\/div>\n        <span id=\"d1a793d7a\">4<\/span>\n      <\/div>\n\n      <div class=\"plus793d7a\">y<\/div>\n\n      <div class=\"fraction793d7a\">\n        <span class=\"top793d7a\">1<\/span>\n        <div class=\"line793d7a\"><\/div>\n        <span id=\"d2a793d7a\">6<\/span>\n      <\/div>\n\n    <\/div>\n\n    <p class=\"question793d7a\">\n      \u00bfCu\u00e1l es el LCD?\n    <\/p>\n\n    <input\n      type=\"text\"\n      inputmode=\"numeric\"\n      id=\"answer793d7a\"\n      class=\"input793d7a\"\n      placeholder=\"Escribe el LCD\"\n    >\n\n    <div class=\"buttons793d7a\">\n\n      <button onclick=\"check793d7a()\">\n        Revisar\n      <\/button>\n\n      <button onclick=\"next793d7a()\">\n        Nuevo ejercicio\n      <\/button>\n\n    <\/div>\n\n    <div class=\"progressWrap793d7a\">\n      <div class=\"progressBar793d7a\"\n           id=\"progressBar793d7a\"><\/div>\n    <\/div>\n\n    <div class=\"progressText793d7a\"\n         id=\"progressText793d7a\">\n      Progreso: 0%\n    <\/div>\n\n    <div id=\"feedback793d7a\"\n         class=\"feedback793d7a\"><\/div>\n\n    <div id=\"explanation793d7a\"\n         class=\"explanation793d7a\"><\/div>\n\n  <\/div>\n<\/div>\n\n<style>\n.lcdBox793d7a{\n  max-width:860px;\n  margin:20px auto;\n  font-family:Arial;\n}\n\n.lcdCard793d7a{\n  border:2px solid #793d7a;\n  border-radius:18px;\n  padding:24px;\n  background:white;\n}\n\n.lcdCard793d7a h3{\n  color:#793d7a;\n  margin-bottom:20px;\n  line-height:1.4;\n}\n\n.definition793d7a{\n  background:#faf5fb;\n  border-left:6px solid #793d7a;\n  padding:15px;\n  border-radius:12px;\n  margin-bottom:25px;\n  line-height:1.6;\n}\n\n.map793d7a{\n  display:grid;\n  grid-template-columns:repeat(2,1fr);\n  gap:14px;\n  margin-bottom:28px;\n}\n\n.ruleCard793d7a{\n  border:2px solid #793d7a;\n  border-radius:14px;\n  background:#faf5fb;\n  padding:16px;\n  color:#793d7a;\n  line-height:1.5;\n}\n\n.ruleCard793d7a strong{\n  display:block;\n  margin-bottom:8px;\n  font-size:18px;\n}\n\n.emoji793d7a{\n  font-size:28px;\n  margin-bottom:10px;\n}\n\n.level793d7a{\n  background:#793d7a;\n  color:white;\n  padding:12px;\n  border-radius:12px;\n  font-size:20px;\n  font-weight:bold;\n  text-align:center;\n  margin-bottom:25px;\n}\n\n.exercise793d7a{\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  gap:40px;\n  margin-bottom:24px;\n}\n\n.fraction793d7a{\n  display:flex;\n  flex-direction:column;\n  align-items:center;\n  color:#793d7a;\n  font-size:42px;\n  font-weight:bold;\n  width:70px;\n}\n\n.line793d7a{\n  width:100%;\n  border-top:4px solid #793d7a;\n  margin:6px 0;\n}\n\n.plus793d7a{\n  font-size:30px;\n  color:#793d7a;\n  font-weight:bold;\n}\n\n.question793d7a{\n  font-size:22px;\n  margin-bottom:14px;\n  text-align:center;\n}\n\n.input793d7a{\n  width:240px;\n  padding:14px;\n  border:2px solid #793d7a;\n  border-radius:12px;\n  font-size:22px;\n  outline:none;\n  display:block;\n  margin:auto;\n  text-align:center;\n}\n\n.input793d7a:focus{\n  box-shadow:0 0 0 3px rgba(121,61,122,.15);\n}\n\n.buttons793d7a{\n  margin-top:22px;\n  text-align:center;\n}\n\n.buttons793d7a button{\n  background:#793d7a;\n  color:white;\n  border:none;\n  border-radius:12px;\n  padding:12px 20px;\n  font-size:16px;\n  cursor:pointer;\n  margin:6px;\n  transition:.2s;\n}\n\n.buttons793d7a button:hover{\n  transform:scale(1.03);\n}\n\n.progressWrap793d7a{\n  width:100%;\n  height:22px;\n  background:#ead9ea;\n  border-radius:999px;\n  overflow:hidden;\n  margin-top:28px;\n}\n\n.progressBar793d7a{\n  height:100%;\n  width:0%;\n  background:linear-gradient(\n    90deg,\n    #793d7a,\n    #c46bc6\n  );\n  transition:width .4s ease;\n}\n\n.progressText793d7a{\n  margin-top:10px;\n  font-weight:bold;\n  color:#793d7a;\n  text-align:center;\n}\n\n.feedback793d7a{\n  margin-top:22px;\n  min-height:28px;\n  font-size:24px;\n  font-weight:bold;\n  text-align:center;\n  color:#2e7d32;\n}\n\n.explanation793d7a{\n  margin-top:18px;\n  background:#faf5fb;\n  border-left:6px solid #793d7a;\n  padding:16px;\n  border-radius:12px;\n  line-height:1.7;\n}\n\n@media(max-width:750px){\n\n  .map793d7a{\n    grid-template-columns:1fr;\n  }\n\n  .exercise793d7a{\n    gap:18px;\n  }\n\n}\n<\/style>\n\n<script>\n(function(){\n\nlet current793d7a = [];\nlet used793d7a = [];\n\nlet progress793d7a = 0;\nconst maxProgress793d7a = 10;\n\nlet level793d7a = 1;\n\n\/* =========================\n   NIVELES\n========================= *\/\n\nconst levels793d7a = {\n\n  1:{\n    numbers:[2,3,4,5,6],\n    label:\"Nivel 1 \u2022 F\u00e1cil\"\n  },\n\n  2:{\n    numbers:[3,4,5,6,7,8,9,10],\n    label:\"Nivel 2 \u2022 Intermedio\"\n  },\n\n  3:{\n    numbers:[4,5,6,7,8,9,10,11,12],\n    label:\"Nivel 3 \u2022 Avanzado\"\n  }\n\n};\n\n\/* =========================\n   FUNCIONES\n========================= *\/\n\nfunction gcd(a,b){\n\n  while(b!==0){\n\n    let t = b;\n    b = a % b;\n    a = t;\n  }\n\n  return a;\n}\n\nfunction lcm(a,b){\n\n  return (a*b)\/gcd(a,b);\n}\n\nfunction coprime(a,b){\n\n  return gcd(a,b)===1;\n}\n\nfunction isPrime(n){\n\n  if(n < 2) return false;\n\n  for(let i=2;i<=Math.sqrt(n);i++){\n\n    if(n%i===0){\n      return false;\n    }\n  }\n\n  return true;\n}\n\n\/* =========================\n   PROGRESO\n========================= *\/\n\nfunction updateProgress793d7a(){\n\n  const percent =\n    Math.min(\n      100,\n      (progress793d7a\/maxProgress793d7a)*100\n    );\n\n  document.getElementById(\n    \"progressBar793d7a\"\n  ).style.width = percent + \"%\";\n\n  document.getElementById(\n    \"progressText793d7a\"\n  ).innerHTML =\n    \"Progreso: \" +\n    Math.floor(percent) +\n    \"%\";\n\n  document.getElementById(\n    \"level793d7a\"\n  ).innerHTML =\n    levels793d7a[level793d7a].label;\n}\n\n\/* =========================\n   GENERAR EJERCICIOS\n========================= *\/\n\nfunction generatePair793d7a(){\n\n  let a,b,key;\n\n  const pool =\n    levels793d7a[level793d7a].numbers;\n\n  do{\n\n    a =\n      pool[\n        Math.floor(\n          Math.random()*pool.length\n        )\n      ];\n\n    b =\n      pool[\n        Math.floor(\n          Math.random()*pool.length\n        )\n      ];\n\n    \/* evitar denominadores iguales *\/\n\n    if(a===b){\n      continue;\n    }\n\n    key =\n      level793d7a +\n      \"-\" +\n      Math.min(a,b) +\n      \"-\" +\n      Math.max(a,b);\n\n  } while(\n    used793d7a.includes(key)\n  );\n\n  used793d7a.push(key);\n\n  if(used793d7a.length > 120){\n\n    used793d7a = [];\n  }\n\n  return [a,b];\n}\n\nfunction generate793d7a(){\n\n  current793d7a =\n    generatePair793d7a();\n\n  document.getElementById(\n    \"d1a793d7a\"\n  ).innerHTML =\n    current793d7a[0];\n\n  document.getElementById(\n    \"d2a793d7a\"\n  ).innerHTML =\n    current793d7a[1];\n\n  document.getElementById(\n    \"answer793d7a\"\n  ).value = \"\";\n\n  document.getElementById(\n    \"feedback793d7a\"\n  ).innerHTML = \"\";\n\n  document.getElementById(\n    \"explanation793d7a\"\n  ).innerHTML = \"\";\n}\n\n\/* =========================\n   REVISAR\n========================= *\/\n\nwindow.check793d7a = function(){\n\n  const a = current793d7a[0];\n  const b = current793d7a[1];\n\n  const correct = lcm(a,b);\n\n  const user =\n    Number(\n      document.getElementById(\n        \"answer793d7a\"\n      ).value\n    );\n\n  const fb =\n    document.getElementById(\n      \"feedback793d7a\"\n    );\n\n  const exp =\n    document.getElementById(\n      \"explanation793d7a\"\n    );\n\n  if(user===correct){\n\n    fb.innerHTML =\n      \"&#x1f389; \u00a1Correcto!\";\n\n    progress793d7a++;\n\n    updateProgress793d7a();\n\n  } else {\n\n    fb.innerHTML =\n      \"&#x2728; Sigue intentando.\";\n  }\n\n  let explanation = \"\";\n\n  if(\n    (a>b && a%b===0) ||\n    (b>a && b%a===0)\n  ){\n\n    explanation = `\n      <strong>Caso A:<\/strong><br>\n      El n\u00famero mayor contiene al menor,\n      por eso el LCD es\n      <strong>${correct}<\/strong>.\n    `;\n\n  } else if(\n    isPrime(a) ||\n    isPrime(b)\n  ){\n\n    explanation = `\n      <strong>Caso D:<\/strong><br>\n      Uno de los n\u00fameros es primo.\n      Revisamos si comparte factores.\n      El LCD es\n      <strong>${correct}<\/strong>.\n    `;\n\n  } else if(coprime(a,b)){\n\n    explanation = `\n      <strong>Caso B:<\/strong><br>\n      Los n\u00fameros no comparten factores,\n      as\u00ed que se multiplican:\n\n      <br><br>\n\n      ${a} \u00d7 ${b} =\n      <strong>${correct}<\/strong>\n    `;\n\n  } else {\n\n    explanation = `\n      <strong>Caso C:<\/strong><br>\n      Buscamos m\u00faltiplos comunes\n      hasta encontrar el primero.\n\n      <br><br>\n\n      M\u00faltiplos de ${a}:\n      ${a}, ${a*2}, ${a*3}, ${a*4}\n\n      <br><br>\n\n      M\u00faltiplos de ${b}:\n      ${b}, ${b*2}, ${b*3}, ${b*4}\n\n      <br><br>\n\n      El primer m\u00faltiplo com\u00fan es\n      <strong>${correct}<\/strong>.\n    `;\n  }\n\n  exp.innerHTML = explanation;\n\n  \/* =========================\n     CAMBIO DE NIVEL\n  ========================= *\/\n\n  if(progress793d7a >= maxProgress793d7a){\n\n    if(level793d7a < 3){\n\n      level793d7a++;\n\n      progress793d7a = 0;\n\n      fb.innerHTML =\n        \"&#x1f3c6; \u00a1Subiste al \" +\n        levels793d7a[level793d7a].label +\n        \"!\";\n\n      updateProgress793d7a();\n\n      setTimeout(()=>{\n        generate793d7a();\n      },1200);\n\n    } else {\n\n      fb.innerHTML =\n        \"&#x1f31f; \u00a1Terminaste todos los niveles!\";\n\n      progress793d7a = 0;\n      level793d7a = 1;\n\n      updateProgress793d7a();\n    }\n  }\n}\n\n\/* =========================\n   NUEVO EJERCICIO\n========================= *\/\n\nwindow.next793d7a = function(){\n\n  generate793d7a();\n\n}\n\ngenerate793d7a();\nupdateProgress793d7a();\n\n})();\n<\/script>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>LCD \u2022 Least Common Denominator MCD \u2022 M\u00ednimo Com\u00fan Denominador El LCD (Least Common Denominator) o MCD (M\u00ednimo Com\u00fan Denominador) es el n\u00famero m\u00e1s peque\u00f1o [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1377","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/cuentoskecuentan.com\/index.php?rest_route=\/wp\/v2\/pages\/1377","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cuentoskecuentan.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cuentoskecuentan.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cuentoskecuentan.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cuentoskecuentan.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1377"}],"version-history":[{"count":7,"href":"https:\/\/cuentoskecuentan.com\/index.php?rest_route=\/wp\/v2\/pages\/1377\/revisions"}],"predecessor-version":[{"id":1407,"href":"https:\/\/cuentoskecuentan.com\/index.php?rest_route=\/wp\/v2\/pages\/1377\/revisions\/1407"}],"wp:attachment":[{"href":"https:\/\/cuentoskecuentan.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1377"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}