Représentation comme somme de trois carrés
Ce calculateur de représentation comme somme de trois carrés reçoit un entier positif ou nul et trouve des entiers explicites a, b et c tels que n = a² + b² + c².
Lancer gratuitement
Il applique aussi le théorème des trois carrés de Legendre avant la recherche : un entier de la forme interdite 4^a(8b+7) produit donc une erreur claire plutôt qu'un calcul inutile. Le résultat comprend les trois termes, une équation lisible et un indicateur de vérification, ce qui convient aux études, aux tests logiciels et aux travaux exacts de théorie des nombres.
Passez d'un théorème d'existence à une représentation explicite
Le théorème des trois carrés de Legendre fournit un critère complet pour déterminer si un entier positif ou nul peut s'écrire comme somme de trois carrés entiers. Savoir qu'une représentation existe n'est toutefois souvent qu'un début. Les exercices, démonstrations, jeux de test et recherches informatiques demandent généralement les valeurs concrètes. Saisissez n : le calculateur renvoie un triplet déterministe selon un ordre de recherche croissant, accompagné d'une équation que vous pouvez contrôler directement. Zéro est accepté et les termes nuls sont autorisés, car une représentation peut n'employer que deux carrés non nuls, voire un seul. Un carré parfait peut ainsi être renvoyé avec deux termes nuls. Le tableau squares contient les bases et non leurs valeurs déjà élevées au carré : [1, 2, 3] signifie donc 1² + 2² + 3². L'équation jointe lève toute ambiguïté et l'indicateur de vérification confirme que l'arithmétique entière a été contrôlée. Des appels identiques produisent toujours la même représentation, ce qui facilite une documentation reproductible et des tests automatisés stables.
Comprenez la forme interdite 4^a(8b+7)
Les seuls entiers positifs ou nuls qui ne peuvent pas être exprimés par trois carrés sont ceux de la forme 4^a(8b+7), où a et b sont des entiers positifs ou nuls. Le calculateur vérifie cette condition en retirant successivement les facteurs quatre, puis en examinant le reste modulo huit. Si la valeur réduite est congrue à sept, aucune représentation n'existe et la requête renvoie une erreur d'entrée invalide qui désigne la forme interdite. Il s'agit d'une impossibilité mathématique, et non d'un délai dépassé ou d'une réponse incertaine. Ainsi, 7 est directement interdit, 28 l'est parce qu'il vaut 4 × 7, et 112 reste interdit après le retrait de deux facteurs quatre. À l'inverse, la seule présence d'un facteur quatre ne suffit pas : la partie réduite doit aussi valoir sept modulo huit. L'application préalable du théorème distingue précisément une entrée mal formée, une taille non prise en charge et un entier valide dont l'absence de solution est démontrée. Elle évite également toute recherche inutile lorsque les mathématiques ont déjà tranché.
Exploitez une sortie déterministe dans vos programmes
Envoyez n sous forme d'entier JSON ou de simple chaîne décimale. Une chaîne convient aux formulaires textuels, mais les signes, espaces, points décimaux, séparateurs et notations scientifiques sont refusés afin de préserver une interprétation exacte. Les entrées sont limitées au maximum publié pour assurer une durée prévisible dans le navigateur comme via l'API. Pour une valeur admissible, l'algorithme parcourt le premier carré par ordre croissant et résout le problème résiduel à deux carrés avec deux pointeurs entiers opposés. Il n'utilise ni réseau, ni choix aléatoire, ni horloge, ni état partagé mutable. Le triplet obtenu et chaque décision de validation restent donc stables. Dans votre application, lisez les trois éléments de squares et recalculez a² + b² + c² si vous souhaitez une assertion locale ; l'équation sert à l'affichage. Considérez une réponse de forme interdite comme un résultat mathématique transmis par l'erreur standard d'entrée invalide, sans nouvelle tentative. La version navigateur utilise le même solveur pur que l'API. L'emploi interactif est gratuit ici ; une requête API coûte $0.002.
Cas d’usage
Terminer un exercice de théorie des nombres
Obtenez des termes carrés concrets après avoir établi l'existence d'une représentation avec le théorème de Legendre.
Produire des jeux de test déterministes
Créez des triplets reproductibles et des équations lisibles pour les logiciels qui valident des sommes de carrés.
Classer les entrées impossibles
Repérez les nombres de la famille interdite 4^a(8b+7) au moyen d'une erreur mathématique explicite.
Questions fréquentes
Que renvoie cette capacité ?
Elle renvoie n, un tableau des trois bases, une équation lisible et un indicateur de vérification.
Tout entier positif ou nul est-il représentable ?
Non. Les entiers de la forme 4^a(8b+7), et eux seuls, ne sont pas des sommes de trois carrés.
Les termes nuls sont-ils autorisés ?
Oui. Le théorème porte sur trois carrés entiers, et un ou plusieurs de ces entiers peuvent être nuls.
Deux requêtes identiques donnent-elles le même triplet ?
Oui. L'ordre de recherche est déterministe et n'utilise ni hasard, ni données réseau, ni heure courante.
Quel est le prix d'une requête API ?
Chaque requête API coûte $0.002. Vous pouvez aussi exécuter gratuitement le calculateur dans votre navigateur sur cette page.
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/sum-three-squares-rep \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":310}'const res = await fetch("https://api.kit.forhosting.com/numth/sum-three-squares-rep", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 310
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/sum-three-squares-rep",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 310
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/sum-three-squares-rep", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":310}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":310}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/sum-three-squares-rep", 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": 310
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.sum_three_squares_rep",
"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 | 10000000 |
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. |