Calculateur de Permutations – P(n,r) et Combinaisons C(n,r)
Calculez les permutations P(n,r) et combinaisons C(n,r) avec solutions étape par étape. Calculateur mathématique en ligne gratuit avec résultats instantanés et précis.
<section class="content-section">
<h2>Permutations vs. Combinaisons : Quand l'ordre compte</h2>
<p>Une <strong>permutation</strong> est un arrangement d'éléments où <em>l'ordre compte</em>. Une <strong>combinaison</strong> est une sélection où l'ordre n'a pas d'importance. Cette distinction unique détermine quelle formule utiliser — et quels problèmes chaque formule résout.</p>
<p>Exemple classique : vous avez 5 personnes et devez en choisir 3. Si l'ordre compte (par exemple, 1ère, 2ème, 3ème place dans une course), utilisez P(5,3) = 60. Si l'ordre n'a pas d'importance (par exemple, choisir 3 membres d'un comité), utilisez C(5,3) = 10. La même sélection d'Alice, Bob, Carol compte comme 1 combinaison mais 6 permutations différentes (ABC, ACB, BAC, BCA, CAB, CBA).</p>
<table>
<thead><tr><th>n (éléments)</th><th>r (sélectionnés)</th><th>P(n,r) ordonné</th><th>C(n,r) non ordonné</th></tr></thead>
<tbody>
<tr><td>4</td><td>2</td><td>12</td><td>6</td></tr>
<tr><td>5</td><td>2</td><td>20</td><td>10</td></tr>
<tr><td>5</td><td>3</td><td>60</td><td>10</td></tr>
<tr><td>10</td><td>3</td><td>720</td><td>120</td></tr>
<tr><td>10</td><td>5</td><td>30,240</td><td>252</td></tr>
<tr><td>52</td><td>5</td><td>311,875,200</td><td>2,598,960</td></tr>
</tbody>
</table>
<p>Le rapport P(n,r) / C(n,r) = r! — le nombre de façons d'arranger r éléments. Pour r=3, chaque combinaison correspond à 3! = 6 permutations. Pour r=5, chaque combinaison correspond à 5! = 120 permutations, expliquant pourquoi le nombre de mains de poker à 5 cartes est 311,875,200 ÷ 120 = 2,598,960.</p>
</section>
<section class="content-section">
<h2>Les Formules : P(n,r) et C(n,r)</h2>
<p>Les deux formules sont basées sur la <strong>fonction factorielle</strong> : n! = n × (n−1) × (n−2) × ... × 2 × 1. Par convention, 0! = 1.</p>
<p><strong>Formule de permutation :</strong> P(n,r) = n! / (n−r)!</p>
<p>Cela compte les arrangements ordonnés. Le dénominateur (n−r)! annule les éléments non choisis. Pour P(5,3) : 5! / (5−3)! = 120 / 2 = 60.</p>
<p><strong>Formule de combinaison :</strong> C(n,r) = n! / (r! × (n−r)!)</p>
<p>Le r! supplémentaire dans le dénominateur supprime l'ordre des éléments choisis. Pour C(5,3) : 5! / (3! × 2!) = 120 / (6 × 2) = 10.</p>
<p>Notation alternative de combinaison : C(n,r) est aussi écrit comme ⁿCᵣ, C(n,r), ou la notation du coefficient binomial (n choisir r) en utilisant des parenthèses. Tout cela signifie la même chose.</p>
<table>
<thead><tr><th>n</th><th>n!</th></tr></thead>
<tbody>
<tr><td>0</td><td>1</td></tr>
<tr><td>1</td><td>1</td></tr>
<tr><td>2</td><td>2</td></tr>
<tr><td>3</td><td>6</td></tr>
<tr><td>4</td><td>24</td></tr>
<tr><td>5</td><td>120</td></tr>
<tr><td>6</td><td>720</td></tr>
<tr><td>7</td><td>5,040</td></tr>
<tr><td>8</td><td>40,320</td></tr>
<tr><td>10</td><td>3,628,800</td></tr>
<tr><td>12</td><td>479,001,600</td></tr>
</tbody>
</table>
</section>
<section class="content-section">
<h2>Exemples Réels de Permutations</h2>
<p>Les permutations s'appliquent chaque fois que l'arrangement ou l'ordre de sélection compte :</p>
<ul>
<li><strong>Codes PIN et mots de passe :</strong> Un code PIN à 4 chiffres à partir de 10 chiffres (0–9) sans répétition a P(10,4) = 5,040 codes possibles. Avec répétition autorisée (codes PIN standard), c'est 10⁴ = 10,000 (un type de comptage différent — sélections ordonnées avec remplacement).</li>
<li><strong>Arrivées de course :</strong> Dans une course avec 8 coureurs, le nombre de façons d'attribuer la 1ère, 2ème et 3ème place est P(8,3) = 8×7×6 = 336.</li>
<li><strong>Arrangements de sièges :</strong> Disposer 6 personnes autour d'une table ronde a (6−1)! = 5! = 120 permutations circulaires (un siège est fixé pour éliminer les équivalents de rotation).</li>
<li><strong>Plaques d'immatriculation :</strong> Plaques de style américain avec 3 lettres suivies de 4 chiffres : 26³ × 10⁴ = 175,760,000 plaques possibles (avec répétition).</li>
<li><strong>Arrangements de livres :</strong> Disposer 7 livres différents sur une étagère : 7! = 5,040 façons. Sélectionner 3 des 7 livres dans l'ordre : P(7,3) = 210 façons.</li>
</ul>
</section>
<section class="content-section">
<h2>Exemples Réels de Combinaisons</h2>
<p>Les combinaisons s'appliquent lorsque la sélection est ce qui compte, pas l'ordre :</p>
<ul>
<li><strong>Loterie :</strong> Powerball nécessite de choisir 5 numéros parmi 1–69 : C(69,5) = 11,238,513 façons. Puis choisir 1 Powerball parmi 1–26 ajoute × 26 = 292,201,338 combinaisons totales — vos chances de gagner le jackpot.</li>
<li><strong>Mains de cartes :</strong> Main de poker à 5 cartes à partir de 52 cartes : C(52,5) = 2,598,960 mains distinctes. Comptes de main spécifiques : 4 as = C(4,4)×C(48,1) = 48 mains.</li>
<li><strong>Sélection de comité :</strong> Choisir un comité de 5 personnes parmi 20 candidats : C(20,5) = 15,504 façons.</li>
<li><strong>Garnitures de pizza :</strong> Choisir 3 garnitures parmi 12 options : C(12,3) = 220 combinaisons de pizza différentes.</li>
<li><strong>Portefeuille d'investissement :</strong> Sélectionner 4 actions parmi une liste de 15 : C(15,4) = 1,365 portefeuilles possibles.</li>
</ul>
</section>
<section class="content-section">
<h2>Triangle de Pascal et Coefficients Binomiaux</h2>
<p>Les valeurs de combinaison C(n,r) — également appelées coefficients binomiaux — forment le Triangle de Pascal, où chaque entrée est la somme des deux entrées au-dessus :</p>
<table>
<thead><tr><th>n</th><th>C(n,0)</th><th>C(n,1)</th><th>C(n,2)</th><th>C(n,3)</th><th>C(n,4)</th><th>C(n,5)</th></tr></thead>
<tbody>
<tr><td>0</td><td>1</td><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td>1</td><td>1</td><td>1</td><td></td><td></td><td></td><td></td></tr>
<tr><td>2</td><td>1</td><td>2</td><td>1</td><td></td><td></td><td></td></tr>
<tr><td>3</td><td>1</td><td>3</td><td>3</td><td>1</td><td></td><td></td></tr>
<tr><td>4</td><td>1</td><td>4</td><td>6</td><td>4</td><td>1</td><td></td></tr>
<tr><td>5</td><td>1</td><td>5</td><td>10</td><td>10</td><td>5</td><td>1</td></tr>
</tbody>
</table>
<p>Le Triangle de Pascal a des propriétés remarquables : chaque ligne somme à 2ⁿ (le nombre total de sous-ensembles d'un ensemble de n éléments). Le triangle encode les coefficients de l'expansion binomiale : (a+b)³ = 1a³ + 3a²b + 3ab² + 1b³, en utilisant la troisième ligne du triangle. La combinaison C(n,r) compte le nombre de chemins à travers une grille, le nombre de sous-ensembles de taille r d'un ensemble de n éléments, et les coefficients dans le théorème binomial.</p>
<p>La propriété de symétrie C(n,r) = C(n, n−r) est visible dans le Triangle de Pascal — chaque ligne se lit de la même manière en avant et en arrière. Cela a du sens : choisir quels r éléments inclure équivaut à choisir quels (n−r) éléments exclure.</p>
</section>
<section class="content-section">
<h2>Permutations avec Répétition et Multiensembles</h2>
<p>Les formules standard P(n,r) et C(n,r) supposent que les éléments sont <em>distincts</em> et <em>non remplacés</em> (pas de répétition). Lorsque les règles changent, des formules différentes s'appliquent :</p>
<table>
<thead><tr><th>Problème de comptage</th><th>Formule</th><th>Exemple</th></tr></thead>
<tbody>
<tr><td>Permutation, sans répétition</td><td>P(n,r) = n!/(n−r)!</td><td>Course de 3 chevaux parmi 8 : P(8,3)=336</td></tr>
<tr><td>Permutation avec répétition</td><td>nʳ</td><td>Code à 3 chiffres parmi 10 chiffres : 10³=1,000</td></tr>
<tr><td>Combinaison, sans répétition</td><td>C(n,r) = n!/(r!(n−r)!)</td><td>5 cartes parmi 52 : C(52,5)=2,598,960</td></tr>
<tr><td>Combinaison avec répétition</td><td>C(n+r−1, r)</td><td>3 boules parmi 5 saveurs : C(7,3)=35</td></tr>
<tr><td>Permutation de multiensemble</td><td>n!/(n₁!n₂!...nk!)</td><td>Arrangements de MISSISSIPPI : 11!/(4!4!2!1!)=34,650</td></tr>
</tbody>
</table>
<p>L'exemple du mot "MISSISSIPPI" illustre les permutations de multiensembles : avec 11 lettres au total (4 S, 4 I, 2 P, 1 M), le nombre d'arrangements distincts est 11! divisé par les factorielles de chaque compte de lettre répétée. Sans tenir compte des répétitions, vous compteriez chaque arrangement 4!×4!×2! = 1,152 fois.</p>
</section>
<section class="content-section">
<h2>Permutations et Combinaisons en Probabilité</h2>
<p>Les permutations et combinaisons sont la base de la probabilité classique : P(événement) = (résultats favorables) ÷ (résultats totaux également probables). Cela nécessite de compter correctement à la fois les résultats favorables et totaux.</p>
<p><strong>Probabilité d'une quinte flush royale au poker :</strong> Il y a 4 quintes flush royales (une par couleur) sur C(52,5) = 2,598,960 mains totales. Probabilité = 4/2,598,960 ≈ 0.000154% — environ 1 sur 649,740.</p>
<p><strong>Problème des anniversaires :</strong> Dans un groupe de n personnes, la probabilité qu'au moins deux partagent un anniversaire utilise des permutations de 365 jours : P(pas d'anniversaire partagé) = 365 × 364 × 363 × ... × (365−n+1) / 365ⁿ. Pour n=23 personnes, cette probabilité tombe en dessous de 50%, ce qui signifie qu'il y a plus de chances qu'un anniversaire soit partagé dans une pièce de 23 personnes — un résultat que la plupart des gens trouvent surprenant.</p>
<p><strong>Probabilité d'anagramme :</strong> Dans un arrangement aléatoire des lettres de "APPLE", la probabilité d'obtenir spécifiquement "APPLE" est de 1/60 (puisque 5!/2! = 60 arrangements distincts, en divisant par 2! pour les deux P). La probabilité d'obtenir un arrangement commençant par A est 4!/2! / 5!/2! = 12/60 = 1/5, comme prévu par symétrie.</p>
</section>
<section class="content-section faq-section">
<h2>Questions Fréquemment Posées</h2>
<details>
<summary>Quand dois-je utiliser permutation vs combinaison ?</summary>
<p>Utilisez la permutation lorsque l'ordre compte : mots de passe, arrivées de course, arrangements de sièges, planification. Utilisez la combinaison lorsque l'ordre n'a pas d'importance : numéros de loterie, sélection de comité, mains de cartes, garnitures de pizza. Demandez-vous : "Réorganiser la sélection donnerait-il un résultat différent ?" Si oui, utilisez la permutation. Si non, utilisez la combinaison.</p>
</details>
<details>
<summary>Qu'est-ce que 0! (zéro factorielle) ?</summary>
<p>Par convention mathématique, 0! = 1. Cela rend les formules comme C(n,0) = 1 cohérentes — il y a exactement une façon de ne rien choisir dans un ensemble (la sélection vide). Cela rend également la formule P(n,n) = n!/0! = n!/1 = n! correcte pour l'arrangement de tous les n éléments.</p>
</details>
<details>
<summary>Qu'est-ce que P(10,3) ?</summary>
<p>P(10,3) = 10! / (10−3)! = 10! / 7! = 10 × 9 × 8 = 720. C'est le nombre de façons ordonnées de choisir 3 éléments parmi 10 éléments distincts — comme attribuer des médailles d'or, d'argent et de bronze dans une compétition de 10 personnes.</p>
</details>
<details>
<summary>Qu'est-ce que C(10,3) ?</summary>
<p>C(10,3) = 10! / (3! × 7!) = (10 × 9 × 8) / (3 × 2 × 1) = 720 / 6 = 120. C'est le nombre de façons de choisir n'importe quels 3 éléments parmi 10 éléments distincts — comme sélectionner un sous-comité de 3 personnes parmi un comité de 10 personnes.</p>
</details>
<details>
<summary>Que signifie lorsque P(n,r) est beaucoup plus grand que C(n,r) ?</summary>
<p>P(n,r) / C(n,r) = r!, le nombre de façons d'arranger r éléments. Plus r est grand, plus ce rapport devient important. Pour r=5, les permutations sont 120 fois plus nombreuses que les combinaisons. Cela reflète que l'ordre multiplie considérablement le nombre d'arrangements distincts lorsque r est grand.</p>
</details>
<details>
<summary>Combien de façons 5 personnes peuvent-elles s'asseoir en ligne ?</summary>
<p>5 personnes en ligne (toutes assises, l'ordre compte) = P(5,5) = 5! = 120 façons. Le premier siège peut être rempli de 5 façons, le second de 4 façons, puis 3, 2, 1 — donnant 5×4×3×2×1 = 120. Pour un arrangement circulaire, ce serait (5−1)! = 24 façons.</p>
</details>
<details>
<summary>Quelles sont les chances de gagner à la loterie ?</summary>
<p>Les chances de loterie dépendent du jeu. Pour un choix de 6 parmi 49 numéros : C(49,6) = 13,983,816 — environ 1 sur 14 millions. Pour Powerball (5 parmi 69 + 1 parmi 26) : C(69,5) × 26 = 292,201,338 — environ 1 sur 292 millions. Ces combinaisons expliquent pourquoi les gains de jackpot sont extrêmement rares.</p>
</details>
<details>
<summary>Pouvez-vous calculer des permutations pour de grands nombres ?</summary>
<p>Les factorielles croissent extrêmement vite : 20! ≈ 2.4 × 10^18, 100! a 158 chiffres. Pour de grands n et r, le calcul direct de factorielle dépasse les types d'entiers standard. Ce calculateur utilise le point flottant 64 bits de JavaScript, qui donne des résultats exacts pour P(n,r) jusqu'à environ n=20 et des résultats approximatifs au-delà. Pour des calculs combinatoires exacts de grands nombres, utilisez des bibliothèques d'entiers longs.</p>
</details>
<details>
<summary>Quelle est la différence entre permutation et arrangement ?</summary>
<p>Ils signifient la même chose en combinatoire — les deux se réfèrent à des sélections ordonnées d'un ensemble. "Arrangement" est parfois utilisé de manière informelle ; "permutation" est le terme mathématique formel. P(n,r) compte le nombre d'arrangements ordonnés de r éléments d'un ensemble de n éléments.</p>
</details>
<details>
<summary>Comment le Triangle de Pascal est-il lié aux combinaisons ?</summary>
<p>Le Triangle de Pascal est construit en plaçant les valeurs C(n,r) dans un tableau triangulaire où la ligne n contient C(n,0), C(n,1), ..., C(n,n). Chaque valeur est égale à la somme des deux valeurs au-dessus : C(n,r) = C(n−1,r−1) + C(n−1,r). Cette identité (Règle de Pascal) donne au triangle sa structure et relie les combinaisons aux coefficients du théorème binomial.</p>
</details>
</section>
<section class="content-section">
<h2>Problèmes de Permutation et Combinaison Étape par Étape</h2>
<p>Maîtriser les permutations et combinaisons nécessite de résoudre des problèmes de manière systématique. La décision clé est toujours : l'ordre compte-t-il ? Une fois cela réglé, appliquez la formule appropriée et simplifiez. Voici des exemples résolus couvrant des types de problèmes typiques.</p>
<p><strong>Problème 1 : Médailles de course.</strong> Dans une course avec 12 coureurs, combien de façons peut-on attribuer les médailles d'or, d'argent et de bronze ?<br>L'ordre compte (or ≠ argent ≠ bronze), donc utilisez P(12,3).<br>P(12,3) = 12! / (12−3)! = 12 × 11 × 10 = 1,320 façons.</p>
<p><strong>Problème 2 : Sélection de comité.</strong> Dans une classe de 20 étudiants, un enseignant en sélectionne 4 pour un projet. Combien de groupes différents sont possibles ?<br>L'ordre n'a pas d'importance (n'importe quels 4 étudiants forment le même groupe), donc utilisez C(20,4).<br>C(20,4) = 20! / (4! × 16!) = (20 × 19 × 18 × 17) / (4 × 3 × 2 × 1) = 116,280 / 24 = 4,845 groupes.</p>
<p><strong>Problème 3 : Sécurité des mots de passe.</strong> Un mot de passe nécessite 2 lettres majuscules suivies de 4 chiffres (sans répétition autorisée). Combien de mots de passe sont possibles ?<br>Pour les lettres : l'ordre compte, P(26,2) = 26 × 25 = 650.<br>Pour les chiffres : l'ordre compte, P(10,4) = 10 × 9 × 8 × 7 = 5,040.<br>Total (par principe de multiplication) : 650 × 5,040 = 3,276,000 mots de passe.</p>
<p><strong>Problème 4 : Distribution de cartes.</strong> À partir d'un jeu de 52 cartes standard, combien de mains différentes de 5 cartes contiennent exactement 3 as ?<br>Choisissez 3 as parmi 4 : C(4,3) = 4.<br>Choisissez 2 non-as parmi 48 : C(48,2) = 48 × 47 / 2 = 1,128.<br>Total : 4 × 1,128 = 4,512 mains avec exactement 3 as.</p>
<p><strong>Problème 5 : Placement circulaire.</strong> Combien de façons 6 personnes peuvent-elles s'asseoir autour d'une table ronde ?<br>Dans les arrangements circulaires, la position d'une personne est fixée (pour éliminer les équivalents de rotation), laissant 5 personnes à arranger : (6−1)! = 5! = 120 façons.<br>Si la table a également des sièges distincts (par exemple, un a un accoudoir), cela devient 6! = 720 (permutation linéaire).</p>
<p><strong>Le principe de multiplication :</strong> Tous les problèmes de comptage en plusieurs étapes utilisent le principe fondamental de multiplication : si l'étape A peut être réalisée de m façons et l'étape B peut être réalisée de n façons (indépendamment), alors A et B ensemble peuvent être réalisés de m × n façons. Ce principe sous-tend toutes les formules de permutation et de combinaison — P(n,r) n'est que le produit n × (n−1) × ... × (n−r+1), et C(n,r) divise par r! pour supprimer le surcomptage de l'ordre.</p>
<p>Lors de la résolution de tout problème de comptage : (1) Identifiez si l'ordre compte. (2) Vérifiez si la répétition est autorisée. (3) Identifiez si les éléments sont distinguables. (4) Décomposez les problèmes complexes en étapes séquentielles en utilisant le principe de multiplication. (5) Appliquez P(n,r) ou C(n,r) selon le cas, ou utilisez des formules spécialisées pour les arrangements circulaires, les multiensembles ou les éléments répétés.</p>
<p><strong>Stratégies de vérification :</strong> Vérifiez toujours les résultats combinatoires par bon sens. C(n,r) doit être égal à C(n, n−r) par la propriété de symétrie — choisir r éléments à inclure est la même chose que choisir n−r éléments à exclure. P(n,r) doit être divisible par r! (puisque diviser P(n,r) par r! donne C(n,r)). Pour de petites valeurs, vous pouvez énumérer directement les possibilités pour vérifier qu'une formule donne le bon compte. Développer cette intuition pour vérifier votre travail évite les erreurs dans des situations à enjeux élevés comme les comptes de conception d'ingénierie, les calculs de paramètres de sécurité ou l'analyse statistique.</p>
<p>Enfin, lorsque les nombres deviennent très grands, utilisez les logarithmes pour estimer. log₁₀(P(52,5)) = log₁₀(52!) − log₁₀(47!) = log₁₀(52×51×50×49×48) ≈ 8.494, donc P(52,5) ≈ 10^8.494 ≈ 311,875,200 — confirmé. Pour les calculs de probabilité, travailler en log-probabilités empêche le sous-flux numérique lorsque les probabilités sont astronomiquement petites (comme dans les arrangements de jeux de cartes mélangées : 52! ≈ 8.07 × 10^67 ordres possibles). La capacité à raisonner sur ces nombres énormes en utilisant des logarithmes et une intuition combinatoire est une marque de maturité mathématique et de pensée statistique.</p>
<p>Les permutations et combinaisons sont enseignées dans les cours de précalcul et de probabilité car elles sont la porte d'entrée pour comprendre la probabilité, les statistiques et les mathématiques discrètes. Au-delà de la salle de classe, elles sont indispensables en informatique (analyse d'algorithmes, conception de structures de données), en génétique (comptage des combinaisons de génotypes), en chimie (isomères moléculaires) et en conception de jeux (analyse d'équilibre et d'équité). Chaque calcul de chances de loterie, chaque analyse de sécurité de mot de passe, chaque système de classement sportif et chaque conception expérimentale pour des essais cliniques repose sur cette théorie fondamentale du comptage. Investir du temps pour vraiment comprendre les permutations et combinaisons — non seulement mémoriser les formules mais développer une intuition pour quand appliquer chaque — rapporte des dividendes dans pratiquement toutes les disciplines quantitatives. Utilisez ce calculateur pour vérifier votre travail, développer une intuition avec différentes valeurs de n et r, et vérifier votre raisonnement sur les problèmes que vous rencontrez.</p>
</section>
<section class="related-section">
<h2>Calculatrices Connexes</h2>
<ul class="related-grid">
<li><a href="/percentage-calculator/">Calculatrice de Pourcentage</a></li>
<li><a href="/fraction-calculator/">Calculatrice de Fraction</a></li>
<li><a href="/square-root-calculator/">Calculatrice de Racine Carrée</a></li>
<li><a href="/standard-deviation-calculator/">Calculatrice d'Écart Type</a></li>
<li><a href="/scientific-notation-calculator/">Calculatrice de Notation Scientifique</a></li>
</ul>
</section>
<script> document.getElementById('calcBtn').addEventListener('click', () => {
try {
const n = parseFloat(document.getElementById('n').value);
const r = parseFloat(document.getElementById('r').value);
if (isNaN(n) || isNaN(r)) {
const el = document.getElementById('result');
el.innerHTML = 'Please fill in all fields with valid numbers.';
el.style.display = 'block';
return;
}
const result = (() => { function f(k){let r=1;for(let i=2;i<=k;i++)r*=i;return r;}const P=f(n)/f(n-r);const C=f(n)/(f(r)*f(n-r));return `P(${n},${r}) = ${P.toLocaleString()}<br>C(${n},${r}) = ${C.toLocaleString()}`; })();
const el = document.getElementById('result');
if (typeof result === 'string' && /\bNaN\b|\bInfinity\b/.test(result)) {
document.getElementById('result').innerHTML = 'Please enter valid values.';
document.getElementById('result').style.display = 'block';
return;
}
el.innerHTML = result;
el.style.display = 'block';
el.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
} catch(e) {
document.getElementById('result').innerHTML = 'Please fill in all fields with valid numbers.';
document.getElementById('result').style.display = 'block';
}
});
// Enter key triggers calc
document.getElementById('calcForm').addEventListener('keydown', (e) => {
if (e.key === 'Enter') { e.preventDefault(); document.getElementById('calcBtn').click(); }
});
// Live calculation on input change
function _dbCalc(fn, ms) { let t; return (...a) => { clearTimeout(t); t = setTimeout(() => fn(...a), ms); }; }
document.querySelectorAll('#calcForm input, #calcForm select').forEach(el => {
el.addEventListener('input', _dbCalc(() => document.getElementById('calcBtn').click(), 150));
});</script>