Residuo potenza n-esima
Le dice se un numero è una potenza k-esima modulo un primo: 2 è un quadrato modulo 7, perché 2 elevato alla 3 lascia resto 1. Vale per quadrati, cubi e qualsiasi potenza superiore, sempre con numeri interi esatti. 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
- K
- 2
- Potenza (W)
- 7
- A modulo
- 2
- Gcd
- 2
- Ordine del gruppo
- 6
- Esponente del criterio
- 3
Un intero a è residuo di potenza k-esima modulo un primo p quando esiste un intero x tale che x elevato a k sia congruente ad a modulo p. Questa domanda generalizza la residualità quadratica (il caso k uguale a due) a cubi, potenze superiori ed esponenti positivi arbitrari usati nella teoria dei numeri da gara e nella crittografia introduttiva. Questa capacità riceve un candidato a, un esponente positivo k e un modulo primo p, riduce a nell'intervallo da zero a p meno uno, verifica che p sia primo e applica il criterio standard del gruppo ciclico sul gruppo moltiplicativo del campo con p elementi. Quando a è divisibile per p la risposta è sempre affermativa per k almeno uno, perché zero a qualsiasi potenza positiva è zero.
Cosa significa un residuo di potenza k-esima modulo un primo
Fissi un modulo primo p e un intero positivo k. Le classi di residuo modulo p formano un campo e i suoi elementi non nulli formano un gruppo moltiplicativo ciclico di ordine p meno uno. Un intero a non divisibile per p è residuo di potenza k-esima modulo p proprio quando a appartiene all'immagine della mappa che invia ogni classe non nulla x a x elevato a k.
Poiché il gruppo è ciclico, quell'immagine è l'unico sottogruppo di indice uguale al massimo comun divisore d di k e p meno uno, e a appartiene a quel sottogruppo se e solo se a elevato alla potenza (p meno uno) divisa per d è congruente a uno modulo p. Quell'unica esponenziazione modulare è la procedura di decisione usata qui.
Quando a è divisibile per p, la congruenza x alla k congruente ad a ha la soluzione banale x congruente a zero per ogni k almeno uno, così zero è sempre trattato come residuo di potenza k-esima. I casi speciali recuperano strumenti noti: per k uguale a due e p primo dispari il criterio è quello di Eulero per la residualità quadratica, la stessa informazione del simbolo di Legendre, mentre per k uguale a p meno uno ogni a non nullo è residuo per il piccolo teorema di Fermat.
Contratto di ingresso, controllo di primalità e campi di risposta
Invii gli interi a, k e p. L'esponente k deve essere almeno uno e al massimo un bilione (10^12). I nomi di campi opzionali non vengono mai riempiti con null: la coppia di criterio è semplicemente omessa nel caso di residuo zero.
Controlli classici che Lei può riprodurre a mano: per a uguale a due, k uguale a tre e p uguale a sette, il gcd di tre e sei è tre, quindi l'esponente di criterio è due e due al quadrato è quattro modulo sette, non uno; pertanto due non è residuo cubico modulo sette; al contrario uno è sempre residuo di potenza k-esima per ogni primo perché uno a qualsiasi potenza è uno.
Non interi, campi obbligatori mancanti ed esponenti sotto uno falliscono la validazione con un messaggio chiaro in inglese.
Dove compaiono i controlli di residui di potenze superiori nel lavoro reale
I programmatori da gara hanno bisogno di un oracolo rapido prima di tentare di estrarre radici cubiche modulari o di ordine superiore: se il bit di residuo è falso non ha senso cercare x. Gli studenti di crittografia verificano esercizi sull'immagine della mappa potenza nei campi finiti, esempi di calcolo dell'indice e costruzioni didattiche che dipendono dal fatto che una classe di messaggio sia una potenza k-esima prima di applicare una mappa.
Le pipeline di ricerca e compiti che già usano i simboli di Legendre o Jacobi per i quadrati spesso necessitano della stessa risposta sì o no per cubi e potenze superiori senza cambiare libreria. Se Le serve solo la residualità quadratica, restano disponibili gli strumenti dedicati di residuo quadratico e simbolo di Legendre; questa pagina è la decisione generale di potenza k-esima per moduli primi.
Casi d'uso
Controlli per compiti e gare
Decida se a è potenza k-esima modulo il primo p negli esercizi di teoria dei numeri senza scrivere la propria pipeline di esponenziazione modulare e gcd.
Prefiltro prima dell'estrazione di radici
Rifiuti i non residui all'inizio di una pipeline che altrimenti tenterrebbe algoritmi di radice cubica o di ordine superiore su un campo primo.
Insegnare il criterio del gruppo ciclico
Mostri agli studenti gcd(k, p−1), l'esponente di criterio e la potenza modulare che dimostra o confuta la residualità su triple concrete.
Domande frequenti
Che cos'è un residuo di potenza k-esima modulo un primo p?
Un intero a è residuo di potenza k-esima modulo il primo p se esiste un intero x tale che x^k ≡ a (mod p). Questo strumento riporta quel fatto con il criterio del gruppo ciclico su F_p*.
Perché p deve essere primo?
La procedura di decisione si basa sul fatto che il gruppo moltiplicativo modulo p è ciclico di ordine p−1, il che vale per moduli primi.
Come si calcola la risposta sì o no?
Sia d = gcd(k, p−1). Se a non è divisibile per p, a è residuo di potenza k-esima se e solo se a^((p−1)/d) ≡ 1 (mod p).
Quanto costa?
Lo strumento nel browser è gratuito e gira in locale.
2 è un residuo cubico modulo 7?
No. Il massimo comune divisore di 3 e 6 è 3, quindi il test eleva 2 alla potenza 2, che dà 4 modulo 7 invece di 1. Nessun intero al cubo lascia quindi 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/power-residue-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":2,"k":3,"p":7}'const res = await fetch("https://api.kit.forhosting.com/numth/power-residue-check", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 2,
"k": 3,
"p": 7
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/power-residue-check",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 2,
"k": 3,
"p": 7
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/power-residue-check", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":2,"k":3,"p":7}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":2,"k":3,"p":7}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/power-residue-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
{
"a": 2,
"k": 3,
"p": 7
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.power_residue_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
Cosa significa un residuo di potenza k-esima modulo un primo
L'endpoint non inventa radici in virgola mobile né potenze approssimate; usa solo aritmetica modulare intera esatta affinché le risposte da manuale e i test automatici coincidano bit a bit.
Contratto di ingresso, controllo di primalità e campi di risposta
Il modulo p deve essere un primo tra due e un bilione inclusi; valori composti come nove o quindici vengono rifiutati con invalid_input e un messaggio che nomina il campo e afferma che p non è primo, così quelle chiamate non vengono addebitate. Il candidato a può essere negativo o maggiore di p in valore assoluto fino allo stesso limite di un bilione; viene ridotto ad a_mod nell'intervallo semiaperto da zero incluso a p escluso prima del test. In caso di successo il payload include sempre a, k, p, a_mod, il booleano is_power_residue, il gcd di k e p meno uno, il group_order uguale a p meno uno e una breve stringa di interpretazione in inglese. Quando a_mod è non nullo il payload riporta anche criterion_exp uguale a (p meno uno) diviso per quel gcd e criterion_value uguale ad a_mod elevato a quell'esponente modulo p, che vale uno esattamente quando il bit di residuo è vero. La stessa funzione pura alimenta lo strumento gratuito del browser e il percorso API a pagamento.
Dove compaiono i controlli di residui di potenze superiori nel lavoro reale
Gli insegnanti assegnano problemi come decidere se tre è residuo di quinta potenza modulo undici o elencare quali classi sono cubi modulo tredici e vogliono una risposta JSON deterministica invece di una tabella manoscritta che può omettere una classe. Poiché la capacità è un motore parse puro non c'è deriva del modello, né chiave API esterna né stato memorizzato: lo stesso triplo produce sempre lo stesso booleano e lo stesso valore di criterio. Il prezzo API è la base pubblicata di $0.002 per elemento riuscito; la validazione fallita non consuma saldo.
Domande tecniche
Lo 0 è considerato residuo di potenza k-esima?
Sì. Per ogni k ≥ 1 si ha 0^k ≡ 0 (mod p), quindi a_mod = 0 è sempre un residuo di potenza e i campi dell'esponente di criterio vengono omessi.