Rappresentazione come somma di tre quadrati
Questa calcolatrice per la rappresentazione come somma di tre quadrati riceve un intero non negativo e trova interi espliciti a, b e c tali che n = a² + b² + c².
Esegui gratis nel browser
Prima della ricerca applica inoltre il teorema dei tre quadrati di Legendre; un intero nella forma vietata 4^a(8b+7) produce quindi un errore chiaro anziché un calcolo inutile. Il risultato comprende i tre termini, un'equazione leggibile e un indicatore di verifica, ed è utile per lo studio, i test software e i flussi esatti di teoria dei numeri.
Trasformi un teorema di esistenza in una rappresentazione esplicita
Il teorema dei tre quadrati di Legendre fornisce un criterio completo per stabilire se un intero non negativo può essere scritto come somma di tre quadrati interi. Sapere che una rappresentazione esiste, tuttavia, è spesso solo l'inizio. Esercizi, dimostrazioni, dati di test e ricerche computazionali richiedono normalmente i valori effettivi. Inserisca n e la calcolatrice restituirà una terna deterministica secondo un ordine di ricerca crescente, insieme a un'equazione che Lei può controllare direttamente. Lo zero è accettato e sono consentiti termini nulli, perché una rappresentazione può usare meno di tre quadrati non nulli. Per esempio, un quadrato perfetto può essere restituito con due termini zero. L'array squares contiene le basi e non i valori già elevati al quadrato: [1, 2, 3] indica quindi 1² + 2² + 3². L'equazione allegata elimina ogni ambiguità, mentre il campo di verifica conferma il controllo dell'aritmetica intera. Chiamate ripetute con lo stesso input producono la medesima rappresentazione, caratteristica utile per documentazione riproducibile e test automatizzati.
Comprenda la forma vietata 4^a(8b+7)
Gli unici interi non negativi che non possono essere espressi mediante tre quadrati sono quelli scrivibili come 4^a(8b+7), dove a e b sono interi non negativi. La calcolatrice verifica questa condizione rimuovendo ripetutamente i fattori quattro e poi esaminando il resto modulo otto. Se il valore ridotto è congruente a sette, non esiste alcuna rappresentazione e la richiesta restituisce un errore di input non valido che identifica la forma vietata. È un'impossibilità matematica, non un timeout o una risposta inconcludente. Come esempi rapidi, 7 è vietato direttamente, 28 lo è perché equivale a 4 × 7 e 112 resta vietato dopo la rimozione di due fattori quattro. Al contrario, la semplice presenza di un fattore quattro non esclude automaticamente un numero: anche la sua parte ridotta deve essere sette modulo otto. Applicare prima il teorema permette di distinguere con precisione un input malformato, una dimensione non supportata e un intero valido che non ha soluzione per dimostrazione. Evita inoltre di scorrere candidati quando la matematica ha già risolto il problema.
Utilizzi risultati deterministici in sicurezza nei programmi
Invii n come intero JSON oppure come semplice stringa decimale. Le stringhe sono comode quando un modulo fornisce testo, ma segni, spazi, punti decimali, separatori e notazione scientifica vengono rifiutati per mantenere un significato esatto. Gli input sono limitati al massimo pubblicato, così l'esecuzione nel browser e tramite API rimane prevedibile. Per i valori ammessi, l'algoritmo esamina il primo quadrato in ordine crescente e risolve il restante problema dei due quadrati mediante puntatori interi contrapposti. Non usa rete, scelte casuali, orologi o stato condiviso mutabile. Di conseguenza, sia la terna trovata sia ogni decisione di validazione restano stabili. In un'applicazione, legga i tre elementi di squares e calcoli separatamente a² + b² + c² se desidera un'asserzione locale; l'equazione è destinata alla visualizzazione. Tratti una risposta di forma vietata come un risultato matematico comunicato dall'errore standard di input non valido, senza riprovare. La versione browser esegue lo stesso risolutore puro dell'API. L'uso interattivo è gratuito qui, mentre una richiesta API costa $0.002.
Casi d'uso
Completi un esercizio di teoria dei numeri
Trovi termini quadrati concreti dopo aver stabilito con il teorema di Legendre che una rappresentazione esiste.
Generi dati di test deterministici
Crei terne riproducibili ed equazioni leggibili per software che convalida somme di quadrati.
Classifichi gli input impossibili
Identifichi i numeri della famiglia vietata 4^a(8b+7) con un errore matematico esplicito.
Domande frequenti
Che cosa restituisce la capacità?
Restituisce n, un array con le tre basi dei quadrati, un'equazione leggibile e un indicatore di verifica.
Ogni intero non negativo può essere rappresentato?
No. Esattamente gli interi della forma 4^a(8b+7) non possono essere scritti come somma di tre quadrati.
Sono consentiti termini uguali a zero?
Sì. Il teorema riguarda tre quadrati interi e uno o più di tali interi possono essere zero.
Richieste ripetute restituiscono la stessa terna?
Sì. L'ordine di ricerca è deterministico e non usa casualità, dati di rete o l'ora corrente.
Quanto costa una richiesta API?
Ogni richiesta API costa $0.002. Lei può anche eseguire gratuitamente la calcolatrice nel browser su questa pagina.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"n": 310
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.sum_three_squares_rep",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_n | 10000000 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |