Verificatore somma di due quadrati
Il 65 è somma di due quadrati, 1² + 8², mentre il 3 e il 7 non lo sono mai. Inserisca un intero per ottenere un sì o un no, una coppia valida e i fattori primi usati dalla regola di Fermat. Gratis nel Suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Un intero non negativo è somma di due quadrati interi quando esistono interi a e b tali che n è uguale ad a al quadrato più b al quadrato. Zero è 0² + 0², cinque è 1² + 2², tredici è 2² + 3² e sessantacinque è 1² + 8² (o 4² + 7²); tre e sette non possono scriversi così. Il teorema classico di Fermat decide l'appartenenza dalla sola fattorizzazione prima: n funziona se e solo se ogni primo congruente a tre modulo quattro compare con esponente pari. L'aritmetica è pienamente deterministica — senza rete, senza casualità e senza orologio — così compiti, oracoli di gara e pipeline di produzione concordano sempre.
Cosa significa «somma di due quadrati» e come decide Fermat
Gli interi a e b formano una rappresentazione di n quando a al quadrato più b al quadrato è uguale a n. Segni e ordine non cambiano l'identità sottostante: se (a, b) funziona, funzionano anche (±a, ±b) e (±b, ±a), quindi questo verificatore riporta una coppia non negativa con a minore o uguale a b quando esiste una rappresentazione. Zero e uno riescono subito (0²+0² e 0²+1²).
Due è 1²+1²; ogni primo congruente a uno modulo quattro è esso stesso somma di due quadrati; i primi congruenti a tre modulo quattro non lo sono mai. Il teorema completo moltiplica questi fatti: scriva n come prodotto di potenze prime; se qualche primo p ≡ 3 (mod 4) ha esponente dispari, n è bloccato e non può essere somma di due quadrati; se ogni tale primo ha esponente pari (incluso il caso vuoto quando nessuno compare), n può.
In modo equivalente, dopo aver rimosso tutti i fattori quadrati e quelli di due e di primi ≡ 1 mod 4, nulla della forma 4k+3 può restare a potenza dispari.
Dove si inseriscono i controlli di somma di due quadrati
Gli studenti incontrano le somme di due quadrati imparando aritmetica modulare, residui quadratici e teoria algebrica dei numeri iniziale: i primi di ostruzione ≡ 3 mod 4 sono un primo ponte tra fattorizzazione e rappresentazione diofantea. Gli insegnanti possono generare chiavi di risposta per schede che chiedono se cinque, tredici, venticinque o sessantacinque è somma di due quadrati, e confrontarli con tre, sette o undici senza fidarsi di calcolatrici opache.
La pratica di gara e i write-up CTF spesso necessitano di un oracolo offline rapido per «n può scriversi come a²+b²?» così da verificare soluzioni senza fette OEIS codificate a mano. Gli autori di librerie usano lo stesso contratto per test di proprietà di ausili di fattorizzazione e norme di interi gaussiani.
Mantenga n entro il limite pubblicato affinché la divisione di prova e la ricerca opzionale di rappresentazione restino interattive; per interi di dimensione crittografica serve fattorizzazione multiprecisione, non questa capacità parse leggera.
Casi d'uso
Controlli a due quadrati in gare e CTF
Verifichi rapidamente l'appartenenza a somma di due quadrati risolvendo problemi di programmazione o capture-the-flag senza tabelle statiche di interi rappresentabili.
Domande frequenti
Quando n è somma di due quadrati?
Un intero non negativo n è uguale ad a² + b² per interi a e b se e solo se ogni primo congruente a 3 modulo 4 ha esponente pari nella fattorizzazione prima di n. Zero, uno, due, cinque, tredici e sessantacinque riescono; tre e sette falliscono.
Cosa succede se n è negativo?
Il teorema classico di somma di due quadrati è enunciato per interi non negativi; un n negativo è fuori dominio e non viene addebitato.
Quanto costa il verificatore di somma di due quadrati?
Lo strumento del browser è gratuito e gira in locale.
L'algoritmo è casuale?
No. Usa fattorizzazione deterministica per divisione di prova, controlli esatti di parità sui primi ≡ 3 mod 4 e una ricerca esatta di una rappresentazione a ≤ b quando l'appartenenza vale. Lo stesso n produce sempre lo stesso indicatore e gli stessi factors.
Il 65 è somma di due quadrati?
Sì: 65 è 1² + 8², e anche 4² + 7². I suoi fattori primi sono 5 e 13, ed entrambi danno resto 1 nella divisione per 4, quindi nulla impedisce la rappresentazione.
Strumenti correlati
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-two-squares-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":65}'const res = await fetch("https://api.kit.forhosting.com/numth/sum-two-squares-check", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 65
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/sum-two-squares-check",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 65
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/sum-two-squares-check", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":65}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":65}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/sum-two-squares-check", 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": 65
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.sum_two_squares_check",
"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.
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. |
Note tecniche
Questa capacità fattorizza n, elenca eventuali primi bloccanti della forma 4k+3 con molteplicità dispari, restituisce un indicatore is_sum_of_two_squares chiaro e, quando la risposta è sì, fornisce una rappresentazione non negativa a ≤ b. La esplori gratis nel browser oppure chiami l'API a $0.002 per richiesta riuscita quando gli script necessitano di un verdetto sì/no riproducibile senza un sistema di algebra computazionale.
Cosa significa «somma di due quadrati» e come decide Fermat
Questo strumento non campiona né approssima mai: fattorizza n una volta per divisione di prova, esamina ogni potenza prima per la condizione 4k+3 a esponente dispari, riempie blocking_primes quando la risposta è no e solo allora cerca una coppia concreta a²+b² quando il criterio dice sì, così l'appartenenza da manuale e il booleano coincidono sempre.
Contratto di ingresso, forma della risposta ed errori
Un n negativo è esplicitamente fuori dominio: l'enunciato classico riguarda gli interi non negativi e la capacità lo segnala con un messaggio chiaro anziché inventare un successo falso. Invii un corpo JSON con un unico campo obbligatorio n: un numero intero almeno zero e al massimo un bilione (dieci alla dodicesima). Gli alias number e value sono accettati per lo stesso campo così moduli e stringhe di query riusano un solo contratto. In caso di successo la risposta include n accettato, is_sum_of_two_squares come booleano, factors come elenco ordinato di oggetti con prime e exponent (vuoto per zero e uno), blocking_primes come elenco crescente di primi ≡ 3 mod 4 con esponente dispari, criterion come riformulazione breve della regola di Fermat e, quando il booleano è vero, un oggetto representation con interi non negativi a e b tali che a² + b² è uguale a n e a ≤ b. Validazione fallita — n assente, non intero, frazione, valore negativo o sopra il limite pubblicato — restituisce invalid_input e non viene mai addebitata. Il prezzo è un fisso $0.002 per richiesta riuscita (unità item con prezzo unitario marginale zero). Gli interi che falliscono il criterio restituiscono ancora una risposta di successo con is_sum_of_two_squares false e un elenco blocking_primes non vuoto; solo le violazioni di dominio sono errori, il che semplifica gli script di valutazione quando gli studenti inviano tre, sette o ventuno.
Dove si inseriscono i controlli di somma di due quadrati
In questa pagina il lavoro gira interamente nel Suo browser; tramite l'API ogni consultazione riuscita costa $0.002, la validazione fallita non è addebitata e nulla viene memorizzato dopo la risposta. Le landing sorelle per la somma dei primi n quadrati o i numeri felici (somme di quadrati delle cifre) rispondono a intenzioni di ricerca diverse: questa pagina punta a chi vuole specificamente il test di appartenenza a due quadrati di Fermat e un indicatore is_sum_of_two_squares chiaro.
Casi di integrazione
Compiti: n può scriversi come a² + b²?
Dia agli studenti un intero e verifichi la fattorizzazione a mano e l'appartenenza sì/no rispetto a un'API deterministica o al risultato gratuito del browser con i primi bloccanti elencati.
Insegnare il criterio 4k+3 di Fermat
Mostri che i primi ≡ 1 mod 4 e prodotti come 65 riescono mentre falliscono i primi ≡ 3 mod 4 con esponente dispari (3, 7, 11, 21), con factors e blocking_primes alla lavagna.
Domande tecniche
Una risposta falsa restituisce ancora factors?
Sì. Gli interi non rappresentabili riescono con is_sum_of_two_squares false, l'elenco completo factors e blocking_primes che nomina ogni primo ≡ 3 mod 4 con esponente dispari. Solo le violazioni di dominio sono errori.