Potenza modulo
Ottenga il resto di una potenza enorme senza mai calcolare la potenza: 2 elevato alla 10 modulo 1000 lascia 24, e 3 elevato alla 5 modulo 13 lascia 9. Interi esatti per compiti, gare di matematica e contatori ciclici. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Base
- 2
- Esponente
- 10
- Modulo
- 1000
- Resto
- 24
- Espressione
- 2^10 mod 1000
La potenza modulo risponde a una domanda quotidiana di aritmetica: quale resto resta quando una base viene elevata a un esponente e poi divisa per un modulo intero positivo? Chi studia scrive quel resto come la base all'esponente, mod m; i giudici di concorso, i contatori ciclici, le demo di hash giocattolo e i compiti di aritmetica modulare hanno bisogno dello stesso valore unico nell'intervallo da zero a m meno uno, senza mai materializzare l'enorme potenza intermedia.
Che cosa calcola la potenza modulo e perché conta l'esponenziazione rapida
Dati interi base, exponent e modulo m, la potenza modulo restituisce il resto unico r nell'intervallo da zero a m meno uno tale che la base elevata all'esponente sia congruente a r modulo m. In simboli, r ≡ base^exponent (mod m). L'elevamento ingenuo moltiplica la base per se stessa exponent volte e solo allora divide, il che fa crescere intermedi enormi e straripa la virgola mobile ordinaria o gli interi a larghezza fissa molto prima che un esponente da concorso finisca.
L'esponenziazione rapida invece percorre i bit dell'esponente dal meno al più significativo, eleva al quadrato la base corrente dopo ogni bit, moltiplica nel resto accumulato quando il bit è acceso e riduce modulo m dopo ogni moltiplicazione, così gli intermedi restano più piccoli di m al quadrato. Quando m vale uno ogni intero è congruente a zero, quindi il resto è sempre zero.
Quando l'esponente è zero il resto vale uno per qualsiasi base purché m sia maggiore di uno, secondo la convenzione del prodotto vuoto per cui ogni numero finito alla potenza zero vale uno. Le basi negative si riducono prima al sistema di residui non negativi modulo m, così la catena di moltiplicazioni non mescola mai resti con segno. Gli esponenti negativi sono rifiutati perché esigono inversi modulari che possono non esistere e sono un'intenzione di ricerca diversa dal resto di una potenza.
Dove una calcolatrice di potenza modulo giustifica il proprio posto
Le aule e le piattaforme di tutoring usano uno strumento dedicato di potenza modulo così chi impara può controllare a alla b, ridotto modulo m, senza moltiplicare a mano intermedi enormi né fidarsi di una calcolatrice tascabile che perde precisione in silenzio oltre due alla cinquantatré. I generatori di esami e i correttori dei sistemi di gestione dell'apprendimento hanno bisogno di un oracolo deterministico che segni un modulo non positivo come non valido, invece di accettare un sentinella che uno script difettoso potrebbe emettere anch'esso.
La convalida fallita non consuma il saldo. Tenga le richieste dentro i limiti di magnitudine pubblicati, fissi il resto nei test, e otterrà residui riproducibili per i compiti, i complementi LMS e i worker al bordo senza erigere un'infrastruttura simbolica propria. La capacità non calcola inversi modulari, non risolve logaritmi discreti e non eleva un reale senza ridurre modulo m; quelle sono intenzioni di ricerca diverse servite da altre schede del catalogo.
Casi d'uso
Contatori ciclici, hash e script di partizionamento
Ripieghi una grande potenza intera in un intervallo di residui fisso per giochi, classifiche o passi di hash giocattolo, senza reimplementare quadrato-e-moltiplica in ogni linguaggio.
Domande frequenti
Che succede se il modulo non è un intero positivo?
Lo zero, un modulo negativo e un modulo non intero non definiscono il resto non negativo standard usato qui e non vengono addebitati.
Perché un esponente negativo viene rifiutato?
Gli esponenti negativi significano potenze reciproche ed esigono inversi modulari, che possono non esistere quando base e modulus non sono coprimi. Quei casi restano fuori ambito.
Come calcola il resto l'esponenziazione rapida?
Il metodo binario quadrato-e-moltiplica percorre i bit dell'esponente, eleva al quadrato la base corrente modulo m a ogni passo e moltiplica nel resto quando un bit è acceso, così il lavoro scala con la lunghezza in bit dell'esponente.
La base di una potenza modulo può essere negativa?
Sì. Una base negativa viene prima riportata nell'intervallo da zero a m meno uno, così il resto risulta sempre zero o positivo. Solo l'esponente deve essere zero o maggiore, e il modulo un intero positivo.
Che resto dà una potenza con esponente zero?
Dà 1 con qualsiasi base, purché il modulo sia maggiore di 1, perché ogni numero elevato a zero vale uno. Per esempio, 7 elevato alla 0 modulo 5 dà 1. Con modulo 1 il resto è sempre 0.
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/math/power-modulo \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"base":2,"exponent":10,"modulus":1000}'const res = await fetch("https://api.kit.forhosting.com/math/power-modulo", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"base": 2,
"exponent": 10,
"modulus": 1000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/power-modulo",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"base": 2,
"exponent": 10,
"modulus": 1000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/power-modulo", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"base":2,"exponent":10,"modulus":1000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"base":2,"exponent":10,"modulus":1000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/power-modulo", 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
{
"base": 2,
"exponent": 10,
"modulus": 1000
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.power_modulo",
"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_base | 1000000000000000 |
max_exponent | 1000000 |
max_modulus | 1000000000000000 |
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 calcolatrice di potenza modulo accetta tre interi — base, exponent e un modulus intero positivo —, valuta la potenza con esponenziazione binaria rapida riducendo dopo ogni moltiplicazione e restituisce quel resto insieme a una breve espressione di visualizzazione. Se il modulo non è un intero positivo, l'attività fallisce con invalid_input invece di inventare un resto.
Che cosa calcola la potenza modulo e perché conta l'esponenziazione rapida
Il modulo deve essere un intero positivo; zero, un valore negativo o una frazione non definiscono il resto non negativo standard e la calcolatrice restituisce invalid_input invece di inventare una risposta.
Contratto di ingresso, algoritmo, forma della risposta ed errori
L'algoritmo è quadrato-e-moltiplica binario su interi esatti: per ogni bit dell'esponente la base corrente viene elevata al quadrato modulo m e, quando il bit è acceso, moltiplicata nel resto corrente modulo m. Abbini la risposta alla Sua composizione se Le serve un apice reso; questo estremo calcola solo il resto e non emette grafici né prosa passo passo oltre il campo formula. Invii un corpo JSON con tre interi obbligatori: base, l'intero che viene elevato; exponent, una potenza intera non negativa; e modulus, un intero positivo m. Ogni campo può arrivare come numero JSON o come stringa di intero decimale; gli alias a per base, exp o e o power per exponent, e m o mod per modulus sono accettati e risolti in quest'ordine. Campi assenti, stringhe vuote, frazioni e valori non numerici falliscono con invalid_input nominando il campo. Il valore assoluto della base non può superare un biliardo, l'esponente un milione e il modulo un biliardo; quei tetti tengono ogni moltiplicazione modulare dentro un isolamento Worker. In caso di successo il corpo ripete base, exponent e modulus puliti, restituisce remainder come il residuo non negativo di base^exponent mod m, include una stringa expression come due circonflesso dieci mod mille per la visualizzazione, e riafferma l'identità remainder = base^exponent mod modulus. Controlli classici: base due, exponent dieci, modulus mille produce remainder ventiquattro; base tre, exponent cinque, modulus tredici produce remainder nove; base sette, exponent zero, modulus cinque produce remainder uno. Un modulo che non è un intero positivo — zero, un intero negativo o un non intero — è invalid_input e non viene mai addebitato.
Dove una calcolatrice di potenza modulo giustifica il proprio posto
Gli allenatori di concorsi di programmazione, le demo di hash, i contatori ciclici di gioco e gli aiuti allo sharding elevano un intero e lo ripiegano in un intervallo di residui fisso; chiamare una API di parse minuscola evita di reimplementare quadrato-e-moltiplica in ogni linguaggio e di trascinare un sistema di algebra computazionale per tre interi. Poiché l'implementazione è parse puro di livello A, ogni chiamata riuscita costa la tariffa base pubblicata $0.002 senza gettoni di modello e senza rete in uscita.
Casi di integrazione
Controlli di resto in aula e nei compiti
Consenta a chi studia di inviare base, exponent e modulus e di verificare il resto unico di a^b mod m senza far straripare una calcolatrice tascabile né una cella di foglio.
Oracoli di concorso e valutazione automatica LMS
Valuti le voci di potenza modulo con un resto deterministico e rifiuti un modulo non positivo come invalid_input, invece di restituire in silenzio uno zero vuoto.
Domande tecniche
Che cosa restituisce la calcolatrice di potenza modulo?
Restituisce il resto unico r in 0 … m−1 tale che base^exponent ≡ r (mod m), più una stringa expression e l'identità remainder = base^exponent mod modulus.
Quanto costa la calcolatrice di potenza modulo?
Lo strumento del browser è gratuito. Le richieste API usano il saldo prepagato KIT a $0.002 per chiamata riuscita; l'ingresso non valido non viene addebitato.