Calculateur de suite aliquote
Une suite aliquote part d’un entier positif puis remplace chaque terme par la somme de ses diviseurs positifs propres.
Lancer gratuitement
Ce calculateur effectue cette itération de manière déterministe, affiche tous les termes atteints et s’arrête lorsque la limite d’étapes est épuisée, que zéro est atteint ou qu’une valeur se répète. Une borne de sécurité stricte protège le calcul contre des termes intermédiaires trop grands et fournit des résultats reproductibles pour l’étude, l’enseignement et la validation.
Choisissez la valeur initiale et comprenez chaque transition
Saisissez un entier positif dans start et choisissez un step_limit compris entre 1 et 100. La valeur initiale figure toujours en première position. Chaque transition remplace le dernier terme par sa somme aliquote, c’est-à-dire la somme de tous ses diviseurs positifs strictement inférieurs. Ainsi, les diviseurs propres de 12 sont 1, 2, 3, 4 et 6, donc le terme suivant vaut 16. Ceux de 16 sont 1, 2, 4 et 8, ce qui donne ensuite 15. La limite compte les transitions et non les valeurs affichées : dix étapes produisent au plus onze termes. Une condition d’arrêt peut raccourcir la liste. Cette convention précise l’effort demandé et facilite la comparaison avec un calcul manuel, un exercice ou une autre implémentation. Dans l’API, n, number ou value peuvent définir le départ, et steps la limite.
Interprétez l’arrêt et les informations de cycle
Le résultat contient la suite complète, le nombre de transitions réalisées et une étiquette d’arrêt. step_limit signifie que toutes les étapes demandées ont été exécutées. zero indique que la suite a atteint zéro, souvent après 1 puisque 1 n’a aucun diviseur positif propre. cycle signale qu’une valeur calculée figurait déjà dans la liste. Cette valeur répétée reste en dernière position afin de rendre le cycle visible, tandis que cycle_start_index indique sa première position, comptée à partir de zéro. Un nombre parfait forme donc immédiatement une boucle : depuis 6, on obtient 6, 6 et l’indice zéro. Sans cycle, cycle_start_index vaut -1. La détection évite des répétitions inutiles tout en conservant assez d’informations pour reconstituer la partie périodique.
Traitez les grands termes en toute sécurité
La valeur initiale ne doit pas dépasser la borne publiée de mille milliards, et chaque terme produit est contrôlé avant son ajout. Si une somme aliquote intermédiaire dépasse cette borne, la requête renvoie une erreur d’entrée non valide qui précise la transition concernée. Le calculateur ne tronque, n’arrondit ni ne remplace silencieusement un nombre, car la suite deviendrait mathématiquement fausse. Chaque somme repose sur une factorisation entière déterministe et sur la formule multiplicative de la somme des diviseurs. Aucun réseau, hasard, horloge courante ou état mémorisé n’intervient : une entrée identique produit la même sortie dans le navigateur et via l’API. Commencez avec peu d’étapes pour une valeur inconnue, puis augmentez la limite si les termes restent raisonnables. Le prix API est de $0.002 par requête ; les bornes explicites limitent le travail.
Cas d’usage
Explorer la théorie des nombres
Suivez un entier au fil des sommes de diviseurs propres pour voir s’il atteint zéro, entre dans un cycle ou continue.
Vérifier des exercices pédagogiques
Comparez une suite d’élève ou de manuel à une liste déterministe qui indique les transitions effectuées.
Tester un logiciel mathématique
Utilisez une sortie stable et bornée comme référence pour valider une autre implémentation ou un flux de données.
Questions fréquentes
Qu’est-ce qu’une suite aliquote ?
C’est une suite dont chaque nouveau terme est la somme des diviseurs positifs propres du terme précédent.
La limite d’étapes inclut-elle le nombre initial ?
Non. Elle compte les transitions ; dix étapes affichent au plus onze termes, départ compris.
Pourquoi la suite peut-elle s’arrêter avant la limite ?
Elle s’arrête à zéro ou lorsqu’une valeur réapparaît, car la suite produirait ensuite zéro ou des répétitions cycliques.
Que se passe-t-il si un terme est trop grand ?
La requête échoue avec une erreur d’entrée non valide, sans renvoyer de suite partielle ou numériquement risquée.
Combien coûte une requête API ?
Chaque requête API coûte $0.002. La même logique déterministe fonctionne également dans le navigateur.
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/aliquot-sequence \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start":12,"step_limit":10}'const res = await fetch("https://api.kit.forhosting.com/numth/aliquot-sequence", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start": 12,
"step_limit": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/aliquot-sequence",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start": 12,
"step_limit": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/aliquot-sequence", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start":12,"step_limit":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start":12,"step_limit":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/aliquot-sequence", 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
{
"start": 12,
"step_limit": 10
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.aliquot_sequence",
"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_term | 1000000000000 |
max_steps | 100 |
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. |