Test de nombre de Moran
Vérifiez si un nombre divisé par la somme de ses chiffres donne un premier : les chiffres de 18 font 9, 18 divisé par 9 donne 2, et 2 est premier, donc 18 est un nombre de Moran. Chaque étape est affichée. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- N
- 18
- Somme des chiffres
- 9
- Quotient
- 2
Un nombre de Moran est un entier positif qui donne un nombre premier lorsqu'il est divisé par la somme de ses chiffres décimaux. Ce test applique explicitement chaque étape de la définition : il calcule la somme des chiffres, vérifie que la division est exacte, teste la primalité du quotient entier obtenu et renvoie le classement final. Le calcul est déterministe et repose uniquement sur l'arithmétique entière.
Ce que signifie le test d'un nombre de Moran
La propriété de Moran relie l'écriture décimale aux nombres premiers. Prenez un entier positif n, additionnez ses chiffres décimaux, puis divisez n par cette somme. Le nombre n'est retenu que si la division produit un entier et si cet entier est premier.
Par exemple, la somme des chiffres de 18 vaut 1 + 8 = 9. La division de 18 par 9 donne 2, qui est premier : 18 est donc un nombre de Moran. Chaque condition est indispensable.
Si la division laisse un reste, aucun quotient entier ne peut être testé et le nombre n'est pas de Moran. Si la division est exacte mais que son quotient vaut 1 ou est composé, le résultat est également faux. Cette structure explique un résultat négatif au lieu de se limiter à oui ou non. quotient est omis lorsque la division n'est pas exacte, car une valeur fractionnaire sort de la définition.
Le nombre un est une entrée valide, mais n'est pas de Moran : sa somme de chiffres et son quotient valent tous deux un, qui n'est pas premier.
Comment le test garantit un résultat exact
Le solveur interprète n comme un entier décimal complet. Cette limite préserve le sens exact des chiffres, des restes et des quotients. Après l'analyse, le solveur parcourt une seule fois la représentation décimale canonique afin d'obtenir la somme des chiffres.
Puisque les entrées admises sont positives, cette somme ne peut jamais être nulle. Une opération de reste détermine ensuite si le quotient est entier. Seul un quotient exact passe au test de primalité.
Les valeurs inférieures à deux ne sont pas premières, deux est traité directement et les autres valeurs paires sont aussitôt rejetées. Pour un candidat impair, l'algorithme essaie uniquement des diviseurs impairs tant que le diviseur ne dépasse pas le candidat divisé par lui-même. Cette comparaison entière évite une racine carrée arrondie et garantit l'arrêt dans une borne finie.
Trouver un diviseur prouve que le quotient est composé ; épuiser la borne prouve qu'il est premier.
Exploiter le résultat pour apprendre, valider et traiter des données
Les nombres de Moran sont utiles en théorie récréative des nombres, car une opération simple sur les chiffres conduit à une véritable condition de primalité. En cours, les élèves peuvent calculer la somme des chiffres, prévoir si la division sera exacte et factoriser le quotient avant de comparer leur travail à la réponse structurée. Le test devient ainsi un outil de vérification qui conserve les faits intermédiaires nécessaires à l'explication.
Les équipes de développement peuvent l'employer pour étiqueter des enregistrements entiers, valider un générateur de suites ou créer des cas de régression pour un logiciel arithmétique. Comme quotient n'apparaît que lorsqu'il est pertinent, les clients typés n'ont pas à interpréter un null ambigu ni une approximation décimale. Pour étudier une suite bornée, envoyez les candidats depuis votre propre boucle contrôlée et conservez les réponses dont le champ moran vaut true.
Cas d’usage
Vérifier des exercices de théorie des nombres
Contrôlez un nombre de Moran proposé en conservant la somme des chiffres, la divisibilité et le quotient premier qui justifient le classement.
Tester des générateurs de suites
Utilisez des résultats déterministes positifs et négatifs comme cas de régression pour les programmes qui génèrent ou filtrent des suites récréatives.
Étiqueter des enregistrements entiers
Ajoutez un indicateur explicable de nombre de Moran et son calcul intermédiaire aux valeurs d'un processus de validation ou d'enrichissement.
Questions fréquentes
Qu'est-ce qu'un nombre de Moran ?
C'est un entier positif dont la division exacte par la somme des chiffres décimaux produit un quotient entier premier.
18 est-il un nombre de Moran ?
Oui. La somme de ses chiffres vaut 9, et 18 divisé par 9 donne 2, qui est premier.
Que se passe-t-il si la division n'est pas exacte ?
Le nombre n'est pas de Moran. La réponse met divisible et moran à false et omet quotient, puisqu'aucun quotient entier ne s'applique.
1 est-il un nombre de Moran ?
Non. La somme de ses chiffres vaut 1 et le quotient aussi, or 1 n'est pas premier. Vous pouvez tout de même saisir 1 : le résultat explique pourquoi il ne remplit pas la condition.
Et si la division est exacte mais que le quotient n'est pas premier ?
Le nombre n'est pas non plus un nombre de Moran. Le résultat montre la somme des chiffres, confirme que la division est exacte et indique que le quotient vaut 1 ou est composé, pour que vous voyiez où cela échoue.
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/moran-number \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":18}'const res = await fetch("https://api.kit.forhosting.com/numth/moran-number", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 18
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/moran-number",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 18
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/moran-number", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":18}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":18}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/moran-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": 18
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.moran_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.
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
Vous pouvez l'exécuter gratuitement dans votre navigateur ou appeler l'API pour $0.002 par requête réussie.
Ce que signifie le test d'un nombre de Moran
La réponse détaille ces étapes avec digit_sum, divisible, le champ facultatif quotient, quotient_is_prime et moran. Les entrées inférieures à un produisent invalid_input plutôt qu'un classement mathématique.
Comment le test garantit un résultat exact
Il accepte les entiers JSON sûrs et les chaînes représentant des entiers décimaux complets, mais refuse les fractions, la notation scientifique, l'infini, les valeurs absentes et les entiers hors de la plage sûre de JavaScript. Aucun réseau, hasard, état, modèle ni horaire actuel n'intervient : une entrée identique produit toujours le même JSON dans le navigateur et via l'API.
Exploiter le résultat pour apprendre, valider et traiter des données
Le champ divisible distingue les nombres qui échouent avant le test de primalité de ceux qui donnent un quotient entier composé, tandis que quotient_is_prime fournit un booléen directement filtrable. Le navigateur convient aux vérifications ponctuelles ; les requêtes automatisées réussies coûtent $0.002 et exécutent le même solveur pur. Cette capacité évalue une valeur par requête : elle n'énumère pas de plage et ne prétend pas que tout nombre divisible par sa somme de chiffres est un nombre de Moran.
Questions techniques
Que se passe-t-il lorsque n est inférieur à un ?
La requête échoue avec invalid_input, car le test accepte uniquement les entiers positifs.
Combien coûte une requête API ?
Chaque requête API réussie coûte $0.002. Vous pouvez aussi exécuter gratuitement le même calcul déterministe dans votre navigateur.