Simbolo di Legendre (a/p)
Il simbolo di Legendre (2/7) vale 1, quindi 2 è un quadrato modulo 7: 3 per 3 fa 9, che lascia resto 2. Inserisca un intero e un primo dispari per ottenere 1, −1 o 0 con una lettura chiara del risultato. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- A
- 2
- Potenza (W)
- 7
- A modulo
- 2
- Simbolo
- 1
- Interpretazione
- a is a quadratic residue modulo p
Il simbolo di Legendre è il test classico di residualità quadratica modulo un primo dispari. Dato un intero a e un primo dispari p, il simbolo (a/p) vale zero quando p divide a, uno quando a è un quadrato non nullo modulo p, e meno uno quando a è un non residuo quadratico. I corsi di crittografia, gli algoritmi legati alla primalità, le dimostrazioni di reciprocità cubica e quadratica e i problemi di programmazione competitiva si basano tutti su questo indicatore a tre valori. Molti linguaggi espongono l’esponenziazione modulare ma lasciano a Lei la convenzione di residualità e il controllo di primalità. Questo calcolatore accetta a e p, verifica che p sia un primo dispari, applica il criterio di Eulero in modo deterministico e restituisce il simbolo insieme al residuo ridotto di a e a una breve interpretazione, così può usare il risultato senza ricalcolare a mano la potenza modulare.
Cosa significa il simbolo di Legendre e perché conta
In aritmetica modulare la domanda «esiste un intero x con x al quadrato congruente ad a modulo p?» è fondamentale. Quando p è un primo dispari la risposta si riduce a tre casi puliti.
Se a è divisibile per p, il simbolo è definito come zero. Se a non è divisibile per p, metà dei residui non nulli sono quadrati (residui quadratici) e l’altra metà non lo sono; il simbolo di Legendre vale più uno per i residui e meno uno per i non residui.
Questa tricotomia compare nella legge di reciprocità quadratica, nelle dimostrazioni che certe equazioni diofantee non hanno soluzioni, nell’analisi dell’algoritmo di radice quadrata di Tonelli–Shanks e nelle presentazioni da manuale delle idee di primalità di Miller–Rabin e Solovay–Strassen che confrontano il criterio di Eulero con un valore di Jacobi dichiarato. Rifiutare moduli composti o pari fa parte del contratto: il simbolo di Legendre non è definito per quei moduli, e un’estensione silenziosa in stile Jacobi indurrebbe in errore chi ha chiesto Legendre nello specifico.
Come questo calcolatore valuta (a/p) con il criterio di Eulero
Chiami la capacità con i campi interi a e p, dove p deve essere un primo dispari tra tre e un bilione inclusi, e a un intero il cui valore assoluto sia al più un bilione. L’implementazione valida prima tipi e limiti, poi esegue un test di primalità deterministico per divisione di prova su p. Il criterio di Eulero afferma che a elevato alla potenza (p meno uno) diviso due è congruente modulo p al simbolo di Legendre.
Il calcolatore calcola quella potenza modulare con aritmetica BigInt esatta così i prodotti intermedi non perdono mai precisione entro i limiti pubblicati. Se la potenza è uno il simbolo è uno. Se la potenza è p meno uno il simbolo è meno uno.
Casi d'uso
Laboratori di crypto e teoria dei numeri
Docenti e studenti possono controllare la residualità quadratica modulo primi dispari su richiesta e vedere un errore esplicito quando un modulo di esempio è composto o pari.
Programmazione competitiva e reciprocità
I programmatori competitivi possono verificare i valori di Legendre risolvendo problemi di reciprocità o validando che un passo di radice quadrata modulo p sia giustificato.
Domande frequenti
Cosa succede se p non è un primo dispari?
Il messaggio indica che p deve essere un primo dispari (ad esempio quando p è pari o composto). La validazione fallita non è addebitata.
Quale algoritmo calcola il simbolo?
Il criterio di Eulero: (a/p) ≡ a^((p−1)/2) (mod p). La potenza modulare è valutata con aritmetica intera esatta dopo aver ridotto a modulo p e verificato che p è un primo dispari.
Il calcolatore del simbolo di Legendre è gratuito?
Lo strumento del browser gira gratis sul Suo dispositivo.
Quali intervalli di a e p sono accettati?
p deve essere un primo dispari da 3 a 1,000,000,000,000. a deve essere un intero il cui valore assoluto sia al più lo stesso limite. Valori fuori da quei limiti, o p composto/pari, sono rifiutati.
2 è un residuo quadratico modulo 7?
Sì. Il simbolo di Legendre (2/7) vale 1, il che significa che un quadrato lascia resto 2 nella divisione per 7. Per esempio, 3 al quadrato fa 9, e 9 diviso 7 lascia resto 2.
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/legendre-symbol \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":2,"p":7}'const res = await fetch("https://api.kit.forhosting.com/numth/legendre-symbol", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 2,
"p": 7
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/legendre-symbol",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 2,
"p": 7
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/legendre-symbol", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":2,"p":7}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":2,"p":7}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/legendre-symbol", 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
{
"a": 2,
"p": 7
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.legendre_symbol",
"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_abs | 1000000000000 |
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
Cosa significa il simbolo di Legendre e perché conta
Restituire un oggetto strutturato con symbol, a_mod e interpretation risparmia ai chiamanti di mappare una potenza modulare grezza sull’insieme convenzionale {−1, 0, 1} e di dimenticare che p uguale a due è escluso dalla definizione classica.
Come questo calcolatore valuta (a/p) con il criterio di Eulero
Valori pari, composti e p uguale a due falliscono con invalid_input e un messaggio che nomina p; nulla viene addebitato. Quando p è accettato, a è ridotto ad a_mod nell’intervallo da zero a p meno uno. Se a_mod è zero il simbolo è zero. Qualsiasi altra potenza indicherebbe un modulo non primo ed è trattata come invalid_input per sicurezza. La risposta include a, p, a_mod, symbol, residue (true, false o null quando il simbolo è zero) e interpretation.
Uso pratico, limiti, prezzi e consegna
Usi lo strumento del browser quando vuole un controllo rapido di residualità leggendo una nota di crittografia, verificando una congruenza di compito o debuggando una routine di radice quadrata modulo p. Gli input accettati sono interi a con valore assoluto al più un bilione e primi dispari p da tre a un bilione. Se Le serve il simbolo di Jacobi per moduli dispari composti o una radice quadrata modulare esplicita quando il simbolo è uno, usi una capacità o un algoritmo dedicato; questo strumento si ferma deliberatamente alla tricotomia di Legendre. Usi l’API quando uno script, un correttore o una piattaforma educativa ha bisogno di molte valutazioni di Legendre senza incorporare il criterio di Eulero e un filtro di primi. Ogni richiesta riuscita è un articolo fatturabile a $0.002; i fallimenti di validazione e i moduli non primi non consumano saldo. I risultati sono deterministici: la stessa coppia produce sempre lo stesso simbolo, lo stesso a_mod e la stessa stringa di interpretazione. Colleghi l’endpoint a demo di reciprocità quadratica, aiuti di programmazione competitiva, sandbox didattiche di crypto o qualsiasi pipeline intera che preferisca aritmetica esatta a euristiche approssimate. Poiché l’unità è un singolo articolo e il motore è parse puro, la latenza resta bassa e il canale web gratuito rispecchia l’API a pagamento senza un secondo percorso di codice che possa divergere.
Casi di integrazione
Correttori di compiti e pipeline simboliche
Correttori automatici e script possono confermare (a/p) ∈ {−1,0,1}, rilevare p non primo via invalid_input e mantenere ogni prodotto intermedio entro i limiti documentati.
Domande tecniche
Come calcolo il simbolo di Legendre con questa API?
Invii JSON con i campi interi a e p (p primo dispari) a numth.legendre_symbol. In successo la risposta restituisce symbol in {−1, 0, 1}, più a_mod, residue e interpretation.