Vérificateur d’Armstrong : narcissiques et somme de puissances
153 est un nombre d'Armstrong : il a trois chiffres, et 1 + 125 + 27, les cubes de 1, 5 et 3, redonnent 153. Saisissez un entier positif ou nul pour voir chaque chiffre, sa puissance et le total. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- N
- 153
- Nombre de chiffres
- 3
- Chiffres
- 1, 5, 3
- Somme des puissances
- 153
Un nombre d’Armstrong —aussi appelé nombre narcissique en base dix— est un entier non négatif égal à la somme de ses propres chiffres décimaux, chacun élevé à la puissance du nombre de chiffres. Les exemples classiques incluent cent cinquante-trois (un au cube plus cinq au cube plus trois au cube) et neuf mille quatre cent soixante-quatorze. Les valeurs à un chiffre de zéro à neuf sont trivialement d’Armstrong car chaque chiffre élevé à la première puissance est lui-même. Cette capacité extrait les chiffres, calcule la somme des puissances en arithmétique entière pure et renvoie un booléen clair plus chaque terme intermédiaire afin que élèves, enseignants et auteurs de scripts puissent auditer le contrôle sans système d’algèbre informatique ni bibliothèque opaque.
Qu’est-ce qu’un nombre d’Armstrong (narcissique)
Écrivez un entier non négatif n en décimal et soit k le nombre de ses chiffres. Élevez chaque chiffre à la puissance k, additionnez ces puissances et demandez si le total égale n. Si oui, n est un nombre d’Armstrong —aussi appelé invariant digital parfait ou nombre narcissique en base dix.
Avec trois chiffres les puissances sont des cubes : cent cinquante-trois fonctionne car un au cube vaut un, cinq au cube vaut cent vingt-cinq, trois au cube vaut vingt-sept, et un plus cent vingt-cinq plus vingt-sept fait cent cinquante-trois. Les exemples à quatre chiffres utilisent des puissances quatrièmes ; le célèbre neuf mille quatre cent soixante-quatorze satisfait neuf à la quatrième plus quatre à la quatrième plus sept à la quatrième plus quatre à la quatrième.
Les nombres à un chiffre passent toujours car le nombre de chiffres est un et d à la première égale d. Zéro est traité comme une valeur à un chiffre, donc zéro à la première vaut zéro et le test réussit. Des nombres comme dix échouent : un au carré plus zéro au carré vaut un, pas dix.
Cette définition est fixe et déterministe : pas d’échantillonnage, de hasard ni d’arithmétique approximative.
Cas d’usage
Validateurs pour concours et entretiens de programmation
Affirmez des solutions candidates aux problèmes classiques de nombres d’Armstrong sans réimplémenter l’extraction de chiffres et l’élévation entière dans chaque harnais de langage.
Démos pédagogiques des propriétés chiffre par chiffre
Projetez le tableau terms en classe pour que les apprenants voient chaque chiffre, l’exposant partagé, la valeur élevée et la comparaison finale en une seule réponse.
Questions fréquentes
Qu’est-ce qu’un nombre d’Armstrong ?
Un entier non négatif égal à la somme de ses chiffres chacun élevé à la puissance du nombre de chiffres. Exemple : 153 = 1³ + 5³ + 3³.
Un nombre d’Armstrong est-il la même chose qu’un nombre narcissique ?
En base 10, oui pour cet outil : les deux noms désignent la même identité de puissances de chiffres. Les autres bases sont hors de portée ici.
Le vérificateur de nombres d’Armstrong est-il gratuit ?
L’outil navigateur est gratuit et s’exécute en local.
Pourquoi tous les nombres à un chiffre sont-ils des nombres d'Armstrong ?
Un nombre à un seul chiffre est élevé à la puissance un, ce qui le laisse inchangé. C'est pourquoi tous les nombres de 0 à 9 réussissent le test, zéro compris.
Pourquoi 10 n'est-il pas un nombre d'Armstrong ?
Il a deux chiffres, donc chacun est élevé au carré : 1 au carré plus 0 au carré donne 1, et non 10. Les puissances des chiffres doivent redonner exactement le nombre lui-même.
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/numth/armstrong-number \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":153}'const res = await fetch("https://api.kit.forhosting.com/numth/armstrong-number", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 153
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/armstrong-number",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 153
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/armstrong-number", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":153}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":153}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/armstrong-number", 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
{
"n": 153
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.armstrong_number",
"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.
Limites
max_n | 999999999999999 |
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
Qu’est-ce qu’un nombre d’Armstrong (narcissique)
L’endpoint n’invente jamais une liste partielle de chiffres ni n’arrondit les puissances intermédiaires ; chaque contribution est un produit entier d’un chiffre par lui-même k fois.
Comment appeler l’API et ce qui revient
Utilisez-le depuis des pipelines de devoirs, des validateurs de concours de programmation, des bacs à sable de préparation aux entretiens ou tout flux qui a besoin d’un contrôle reproductible de nombres narcissiques sans installer de paquets spécialisés de théorie des nombres sur chaque machine. Envoyez un corps JSON avec un seul champ obligatoire n —un nombre entier au moins zéro et au plus neuf cent quatre-vingt-dix-neuf billions neuf cent quatre-vingt-dix-neuf milliards neuf cent quatre-vingt-dix-neuf millions neuf cent quatre-vingt-dix-neuf mille neuf cent quatre-vingt-dix-neuf (quinze neufs), choisi pour que chaque valeur reste dans les entiers sûrs de JavaScript. Les alias number et value sont acceptés pour le même champ. En cas de succès la réponse inclut n tel qu’accepté, digit_count, digits comme tableau ordonné du plus au moins significatif, terms comme objets chacun avec digit, power et value, power_sum comme total de ces valeurs, et is_armstrong comme booléen comparant power_sum à n. Une validation échouée —n manquant, non entier, fraction, valeur au-dessus de la limite publiée ou tout nombre négatif— renvoie invalid_input et n’est jamais facturée. Le tarif est un forfait de $0.002 par requête réussie (élément unitaire à prix marginal unitaire nul). La même fonction pure alimente l’outil gratuit du navigateur et le chemin API payant, de sorte qu’un exemple doré qui passe en local correspond exactement à l’arithmétique de production.
Conseils pratiques, limites et recherches liées
Si vous avez besoin de candidats multiprécision à des dizaines de chiffres, utilisez une pile d’entiers grands dédiée —cette capacité légère de parse est conçue pour des contrôles interactifs et des entrées de taille pédagogique. En enseignement, préférez des exemples montrant les deux issues : cent cinquante-trois et trois cent soixante-dix comme cas vrais à trois chiffres, dix ou cent comme cas faux, et une entrée négative pour démontrer le rejet strict. Les pages sœurs de théorie des nombres de ce kit ciblent d’autres intentions comme les sommes aliquotes ou l’exponentiation modulaire ; cette page est spécifiquement pour ceux qui cherchent si un entier donné est d’Armstrong ou narcissique. Gardez n dans la plage d’entiers sûrs publiée afin que l’extraction de chiffres et l’élévation entière restent exactes sur le Worker et dans le navigateur. Comme terms liste chaque contribution de chiffre, les élèves peuvent recalculer chaque puissance à la main et coller ligne par ligne à l’API. Ne traitez pas le booléen seul comme une boîte noire : associez-le à power_sum et digit_count lors de la notation pour que le crédit partiel ou les hypothèses erronées sur le nombre de chiffres soient faciles à diagnostiquer. Les tâches échouées qui renvoient invalid_input ne consomment pas le solde prépayé, ce qui maintient les scripts exploratoires peu coûteux lorsque les utilisateurs saisissent de mauvaises valeurs en apprenant le contrat.
Cas d'intégration
Devoirs : vérifier les réponses Armstrong et narcissiques
Donnez un entier aux élèves et comparez leur somme de puissances de chiffres et l’étiquette oui/non calculées à la main avec un résultat déterministe de l’API ou du navigateur gratuit.
Questions techniques
Les nombres à un chiffre sont-ils des nombres d’Armstrong ?
Oui. Pour 0–9 le nombre de chiffres est 1, et chaque chiffre à la première puissance égale lui-même, donc is_armstrong est vrai.
Quelles entrées sont rejetées ?
n manquant, non-entiers, valeurs au-dessus du maximum publié et tout nombre négatif renvoient invalid_input. Ces échecs ne sont pas facturés.