PGCD et PPCM de plusieurs nombres gratuit
Pour douze, dix-huit et vingt-quatre, le plus grand commun diviseur vaut 6 et le plus petit commun multiple 72, tous deux tirés d’une seule liste. Saisissez au moins deux entiers non nuls et recevez les deux résultats côte à côte. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Nombres
- 12, 18, 24
- Gcd
- 6
- Lcm
- 72
Le calculateur de PGCD et PPCM prend une liste d'entiers et renvoie le plus grand commun diviseur et le plus petit commun multiple de l'ensemble. Il utilise l'algorithme d'Euclide pour le PGCD et réduit le PPCM par paires en |a/g|*b pour limiter la croissance des produits intermédiaires.
Ce que PGCD et PPCM signifient ensemble
Le plus grand commun diviseur est le plus grand entier positif qui divise chaque nombre de la liste sans reste. Le plus petit commun multiple est le plus petit entier positif multiple de tous. Pour deux valeurs l'identité classique pgcd(a,b)*ppcm(a,b)=|a*b| tient ; pour des listes plus longues les deux mesures se construisent en pliant les mêmes étapes binaires de gauche à droite.
Renvoyer les deux champs en une réponse évite un second aller-retour quand vous avez besoin de fractions irréductibles et d'une période commune dans le même pipeline.
Comment l'algorithme reste exact
Le PGCD utilise Euclide : remplacer (a,b) par (b, a mod b) jusqu'à reste nul, toujours sur valeurs absolues pour que le signe ne change pas le résultat. Le PPCM se calcule par paires comme abs(a)/pgcd(a,b)*abs(b), en divisant avant de multiplier pour limiter la croissance intermédiaire. Zéro est rejeté car le PPCM avec zéro est indéfini dans ce contrat.
Où vous l'utilisez
Le code de jeux et d'animation aligne des boucles sur un PPCM partagé de longueurs de trame. Les ingénieurs simplifient des taux multi-dénominateurs ou des ratios d'horloge d'échantillonnage sans tableur. Comme la capacité est de l'arithmétique pure de couche parse, il n'y a ni saut réseau, ni hasard, ni loterie flottante au-delà des plages entières ordinaires.
Cas d’usage
Contrôles de devoirs
Vérifiez des réponses PGCD et PPCM pour des listes de plus de deux éléments sans plier à la main les étapes d'Euclide.
Périodes partagées
Trouvez la longueur de cycle commune minimale pour des minuteries, animations ou fréquences d'échantillonnage qui doivent coïncider sur le même tic.
Simplification de taux
Réduisez des ratios multi-dénominateurs en calculant d'abord un seul PGCD sur tous les termes.
Questions fréquentes
Est-ce gratuit ?
Oui. Le tier A s'exécute entièrement dans votre navigateur sans compte.
Combien de nombres puis-je envoyer ?
Au moins deux entiers. Il n'y a pas de plafond spécial au-delà de la taille ordinaire de la requête ; PGCD et PPCM se plient par paires sur tout le tableau.
Les nombres négatifs sont-ils autorisés ?
Oui. L'outil utilise des valeurs absolues pour le PGCD et renvoie un PPCM non négatif.
Appelle-t-il le réseau ?
Non. Le moteur parse garde tout sur l'appareil.
Quel lien y a-t-il entre le PGCD et le PPCM de deux nombres ?
Pour deux nombres, le PGCD multiplié par le PPCM donne la valeur absolue de leur produit. Pour une liste plus longue, ce raccourci ne s'applique pas : les deux mesures sont construites paire après paire, de gauche à droite.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/math/gcd-lcm \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"numbers":[12,18,24]}'const res = await fetch("https://api.kit.forhosting.com/math/gcd-lcm", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"numbers": [
12,
18,
24
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/gcd-lcm",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"numbers": [
12,
18,
24
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/gcd-lcm", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"numbers":[12,18,24]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"numbers":[12,18,24]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/gcd-lcm", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"numbers": [
12,
18,
24
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.gcd_lcm",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Comment l'algorithme reste exact
Non-entiers, valeurs non finies et tableaux de moins de deux éléments lèvent invalid_input avec un message clair pour corriger le payload sans deviner.
Questions techniques
Pourquoi zéro est-il rejeté ?
Le PPCM impliquant zéro est indéfini sous ce contrat, donc tout zéro produit invalid_input.