ForHosting KIT · Mathématiques

Calculateur du problème des poignées de main

Découvrez combien de poignées de main ont lieu quand chacun salue tous les autres une seule fois : 5 personnes donnent 10 poignées de main, 4 en donnent 6, et un total de 10 redonne 5 personnes. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Nombre de personnes
5
Vous obtenez
Mode de calcul
forward
Poignées de main
10
N max
1 000 000

Ce calculateur du problème des poignées de main répond à la question classique de combinatoire : si n personnes se rencontrent et que chaque paire se serre la main exactement une fois, combien de poignées de main ont lieu ? La forme fermée est n choisir deux, notée C(n, 2) = n(n − 1)/2, les mêmes nombres triangulaires qui apparaissent en théorie des graphes comme le nombre d'arêtes du graphe complet K_n. L'outil exécute aussi l'inverse : étant donné un total de poignées de main qui est une valeur exacte de C(n, 2), il retrouve l'unique nombre entier non négatif de personnes n. Parmi les vérifications simples que vous connaissez déjà : cinq personnes donnant dix poignées de main, quatre personnes donnant six, et zéro ou une personne donnant zéro. Le moteur n'utilise qu'une arithmétique BigInt déterministe — aucun appel réseau, aucun échantillonnage et aucun raccourci dépendant de la date.

Ce que compte le problème des poignées de main et ce que contient la réponse

Le problème des poignées de main est l'histoire quotidienne derrière le coefficient binomial C(n, 2). Chaque poignée de main est une paire non ordonnée de personnes, si bien que le total est le nombre de façons de choisir deux personnes parmi n, sans répétition et sans tenir compte de l'ordre. C'est exactement n fois n moins un, divisé par deux, car vous pouvez aligner les personnes et associer chacune à toutes celles qui viennent après elle dans la file, sans double comptage.

Le même entier est le nombre d'arêtes dans le graphe complet à n sommets, le (n − 1)-ième nombre triangulaire lorsqu'il est indexé soigneusement à partir de zéro, et un échauffement standard dans les cours de mathématiques discrètes.

Ce calculateur renvoie une étiquette de mode forward ou inverse, le nombre de personnes n, le total exact de poignées de main sous forme de chaîne décimale, une courte chaîne de formule telle que C(5, 2) = 5*(5-1)/2, et le n maximum publié afin que les clients puissent valider avant d'envoyer un lot. La règle n-négatif est intentionnelle : le problème est défini pour un nombre de personnes non négatif, et traiter les valeurs négatives comme des erreurs du client garde les tests de référence stables et le cache sûr.

Si vous avez besoin de combinaisons ordinaires avec un k libre, de permutations, ou de combinaisons de multiensembles avec répétition, utilisez ces outils dédiés ; cette page ne répond qu'au nombre de poignées de main et à son inverse exact.

Où les décomptes de poignées de main interviennent dans les études, le code et la modélisation

Les élèves rencontrent le problème des poignées de main lorsqu'un manuel introduit les combinaisons, lorsqu'un enseignant demande combien de matchs nécessite un tournoi en round-robin, ou lorsque la théorie des graphes définit pour la première fois le graphe complet K_n. Les enseignants peuvent pré-générer des corrigés pour des n modestes sans se fier à des applications de calcul opaques qui arrondissent de grands entiers ou basculent silencieusement en notation scientifique.

Les développeurs appellent le même contrat depuis des scripts pour amorcer des vecteurs de test déterministes, pour dimensionner des charges de comparaison par paires, ou pour satisfaire des énoncés de défis de programmation qui exigent la valeur exacte de C(n, 2) plutôt qu'une approximation flottante. La pratique des concours a souvent besoin d'une source rapide et hors ligne de rangs triangulaires de poignées de main, afin que les solutions puissent être vérifiées sans télécharger de tables OEIS, sous la pression du temps.

Les analystes de produit et d'exploitation utilisent ce nombre pour estimer combien de réunions individuelles ou d'arêtes non dirigées uniques surviennent parmi n participants, si chaque paire interagit une fois. La voie inverse est tout aussi utile : étant donné un total de réunions rapporté qui prétend à une couverture complète par paires, retrouvez n et vérifiez que le chiffre est combinatoirement possible avant qu'il n'entre dans un tableau de bord.

Associez-le aux outils de binôme ou de combinaisons de multiensembles lorsque vous avez besoin de coefficients connexes, aux compteurs de chemins réticulaires lorsque l'ordre des étapes compte, et aux autres points de terminaison mathématiques lorsque vous construisez un petit laboratoire d'outils de combinatoire gratuits et déterministes.

Devoirs et vérifications de combinatoire

Recherchez des totaux exacts de poignées de main C(n, 2) et inversez des décomptes triangulaires de poignées de main pour des exercices et des quiz de manuel.

Données de référence déterministes pour les tests

Générez des chaînes décimales de poignées de main reproductibles pour les tests unitaires, les vérifications de propriétés et les assertions d'intégration continue, sans maintenir de tables à la main.

Dimensionnement de round-robin et de paires

Comptez les paires non dirigées parmi n participants pour des tournois, des plans de réunion, ou des estimations d'arêtes de graphe complet.

Combien coûte le calculateur du problème des poignées de main ?

Il est gratuit dans votre navigateur sur cette page.

Comment le nombre de poignées de main est-il défini ?

Si chaque paire parmi n personnes se serre la main une fois, le total est C(n, 2) = n(n − 1)/2.

Que se passe-t-il si n est négatif ?

Le problème des poignées de main exige n ≥ 0.

Pourquoi le résultat est-il une chaîne plutôt qu'un nombre ?

Les totaux de poignées de main croissent quadratiquement et peuvent dépasser les entiers sûrs de JavaScript pour de grands n.

Peut-on retrouver le nombre de personnes à partir du nombre de poignées de main ?

Oui. Saisissez le total de poignées de main au lieu du nombre de personnes et vous obtenez la taille du groupe : 10 poignées de main correspondent à 5 personnes. Un total qui ne correspond à aucun groupe exact est refusé.

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.

POSThttps://api.kit.forhosting.com/combo/handshake

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é.

curl -X POST https://api.kit.forhosting.com/combo/handshake \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"n":5}'
{
  "n": 5
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "combo.handshake",
  "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.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

max_n1000000
HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Les nombres négatifs de personnes sont rejetés avec invalid_input, afin que de mauvaises cellules de feuille de calcul ne deviennent jamais de silencieuses mauvaises réponses. Utilisez-le gratuitement dans le navigateur pour vos devoirs et vos katas de programmation, ou appelez l'API à $0.002 par requête réussie lorsque vous avez besoin de données de référence de poignées de main reproductibles en intégration continue ou des démonstrations pédagogiques.

Ce que compte le problème des poignées de main et ce que contient la réponse

Il n'existe aucune voie approximative en virgule flottante présentée comme vraie et aucun échantillonnage aléatoire de paires : le moteur construit soit le produit exact avec BigInt dans la plage prise en charge, soit rejette l'entrée avec invalid_input. Les cas rejetés incluent l'absence à la fois de n et de handshakes, des nombres non entiers, des fractions, une notation scientifique, des valeurs supérieures au plafond documenté, tout n négatif, des totaux de poignées de main négatifs, et des totaux qui ne sont pas exactement une valeur de C(n, 2).

Comment n et handshakes sont lus et comment fonctionne la racine triangulaire inverse

Les signes plus optionnels en tête sont autorisés sur les valeurs non négatives ; les espaces incrustés, les préfixes hexadécimaux, et la notation exponentielle sont rejetés avec un message clair, pour qu'une mauvaise cellule ne se transforme pas en mauvais nombre. Zéro et un pour n sont valides et renvoient zéro poignée de main, conformément au graphe complet vide et au graphe à un seul sommet. Si les deux champs sont fournis, le moteur vérifie la cohérence, afin qu'une paire incompatible échoue bruyamment plutôt que de choisir silencieusement un côté. Les champs privilégiés sont n pour le nombre de personnes et handshakes pour le total à inverser, mais les alias people et persons pour n et h et count pour handshakes sont acceptés, afin que les feuilles de calcul, les chaînes de requête et les formulaires typés puissent réutiliser le même contrat. Le moteur impose un maximum strict d'un million pour n, ce qui garde la mémoire et la latence dans un budget prévisible sur la voie du navigateur gratuit et sur le Worker en périphérie, même si les nombres triangulaires croissent quadratiquement. Le mode direct multiplie n par n moins un avec BigInt et divise par deux, afin que les produits intermédiaires ne perdent jamais de chiffres comme le feraient les doubles IEEE au-delà du cinquante-troisième bit. Le mode inverse résout l'équation quadratique n au carré moins n moins deux h égale zéro, en testant si le discriminant un plus huit h est un carré parfait via une racine carrée entière ; lorsque c'est le cas et que le n résultant est un entier dans la plage, ce n est renvoyé, sinon invalid_input explique que le total de poignées de main n'est pas exact. Chaque valeur intermédiaire est un BigInt et le nombre final de poignées de main est sérialisé avec toString, afin que le JSON ne tronque jamais de grandes valeurs. Associez l'exécution gratuite dans le navigateur sur cette page à l'API payante lorsque vous avez besoin du même résultat mathématique au sein d'un pipeline automatisé, sans réimplémenter vous-même les racines triangulaires.

Où les décomptes de poignées de main interviennent dans les études, le code et la modélisation

Sur cette page, le travail s'exécute entièrement dans votre navigateur ; via l'API, chaque recherche réussie coûte $0.002, la validation échouée n'est pas facturée, et rien n'est conservé après le renvoi de la réponse. Cette séparation — exploration interactive gratuite et API payante identique — correspond au reste du catalogue de niveau A de KIT, et vous permet de passer d'une démonstration en classe à un pipeline automatisé sans changer le résultat mathématique.

Puis-je retrouver n à partir d'un total de poignées de main ?

Oui. Fournissez handshakes (ou h / count). Le total doit être exactement égal à un C(n, 2) ; sinon, la requête échoue avec invalid_input.

Consulter la documentation complète du KIT →