ForHosting KIT · Matematica

Risolutore teorema cinese del resto

Risolva congruenze simultanee in un solo passaggio: x ≡ 2 mod 3, x ≡ 3 mod 5 e x ≡ 2 mod 7 danno x ≡ 23 mod 105. Accetta moduli con fattori comuni e segnala quando il sistema si contraddice. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto
Se inserisce
Resti
2, 3, 2
Moduli
3, 5, 7
Ottiene
X
23
Modulo
105
Prodotto
105
Quantità
3

Il percorso è pura aritmetica intera: niente rete, niente casualità e niente orologio.

Che cosa dice il teorema cinese del resto

Un sistema di congruenze cerca un unico numero x che lasci un resto preciso quando lo si divide per diversi divisori, chiamati moduli. Quando i moduli sono coprimi a coppie, cioè nessuna coppia condivide un fattore, esiste esattamente una risposta tra zero e il prodotto dei moduli meno uno, e le altre si ripetono a salti di quel prodotto. L’esempio classico x ≡ 2 mod 3, x ≡ 3 mod 5, x ≡ 2 mod 7 ha l’unica classe 23 modulo 105.

Come lavora il risolutore ed errori frequenti

Il risolutore combina le congruenze una alla volta, unendo ogni nuova alla risposta trovata fino a quel momento. Se due moduli condividono un fattore, verifica prima che i loro resti coincidano modulo il massimo comune divisore; se non coincidono, La avvisa che non c’è soluzione. Quando coincidono, la risposta si ripete a ogni minimo comune multiplo dei moduli, non a ogni prodotto. Gli errori tipici sono aspettarsi una risposta unica modulo il prodotto quando i moduli hanno fattori comuni, inserire resti e moduli in ordine o numero diversi e dimenticare che un resto negativo viene semplicemente ridotto modulo il proprio divisore.

Dove compaiono i sistemi CRT nello studio, nell'intuizione crittografica e nel codice

Gli insegnanti possono generare chiavi di risposta per schede di congruenze simultanee senza fidarsi di calcolatrici opache che nascondono gli MCD intermedi. La pratica in gare ha spesso bisogno di un risolutore veloce e offline così il lavoro scritto a mano può essere verificato in secondi. Abbina questa pagina a un verificatore di coprimalità quando ti serve solo l'MCD di due interi, e alla fattorizzazione in primi quando ti servono le potenze prime dietro un singolo modulo invece di un sistema simultaneo.

Congruenze simultanee per compiti a casa e gare

Risolvi sistemi da manuale come x ≡ 2 mod 3, x ≡ 3 mod 5, x ≡ 2 mod 7 e verifica la classe unica modulo il prodotto dei moduli.

I moduli devono essere coprimi a coppie?

No. Moduli coprimi a coppie danno sempre una soluzione unica modulo il loro prodotto. Moduli non coprimi sono accettati quando i resti concordano modulo ciascun MCD; altrimenti il sistema viene respinto come incoerente.

L'algoritmo è randomizzato?

No. Usa CRT successivo deterministico con MCD e inversi modulari esatti. Gli stessi resti e moduli producono sempre lo stesso x e lo stesso modulo.

Come risolvo x ≡ 2 mod 3, x ≡ 3 mod 5 e x ≡ 2 mod 7?

Inserisca i resti 2, 3 e 2 e i moduli 3, 5 e 7 nello stesso ordine. La risposta è 23, e va bene anche qualsiasi numero che differisca da 23 per un multiplo di 105.

Cosa succede se le congruenze si contraddicono?

Il risolutore Le indica che il sistema è incompatibile invece di inventare una risposta. Una soluzione esiste solo se ogni coppia di resti coincide modulo il massimo comune divisore dei due moduli corrispondenti.

Posso inserire resti negativi?

Sì. Un resto negativo viene ridotto modulo il proprio divisore prima del calcolo, quindi il risultato è lo stesso che otterrebbe con il resto positivo equivalente.

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.

POSThttps://api.kit.forhosting.com/numth/chinese-remainder

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/numth/chinese-remainder \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"remainders":[2,3,2],"moduli":[3,5,7]}'
{
  "remainders": [
    2,
    3,
    2
  ],
  "moduli": [
    3,
    5,
    7
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "numth.chinese_remainder",
  "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.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Il risolutore del teorema cinese del resto prende un sistema di congruenze simultanee — x congruo a ciascun resto a_i modulo ciascun modulo n_i — e restituisce la classe di soluzione unica quando esiste. Fornisci array paralleli di resti e moduli; il motore li combina con CRT successivo, verifica la coerenza quando i moduli condividono fattori, e riporta sia il rappresentante x tra zero e modulo meno uno sia il modulo della classe di soluzione (il prodotto degli n_i quando sono coprimi a coppie, altrimenti il loro minimo comune multiplo).

Cosa restituisce il teorema cinese del resto e quando i sistemi falliscono

La famosa tripletta da classe — x ≡ 2 mod 3, x ≡ 3 mod 5, x ≡ 2 mod 7 — dà x ≡ 23 mod 105. Questo strumento accetta anche la forma generale: i moduli non devono essere per forza coprimi a coppie. Classicamente, se i moduli sono coprimi a coppie, esiste esattamente una classe di resto modulo il prodotto degli n_i che soddisfa ogni congruenza contemporaneamente. In quel caso una soluzione esiste se e solo se ogni coppia di resti concorda modulo l'MCD dei moduli corrispondenti, e la soluzione è unica modulo il minimo comune multiplo di tutti gli n_i. Quando i resti sono in disaccordo, la richiesta fallisce con invalid_input e un messaggio che nomina l'incoerenza invece di inventare un x falso. La risposta JSON in caso di successo include x, modulus (il modulo CRT della classe di soluzione), product (il prodotto grezzo dei moduli in input), i resti ridotti tra zero e n_i meno uno, una copia dei moduli e count. Array mancanti, lunghezze diverse, moduli non positivi, valori non interi e valori fuori dall'intervallo di interi sicuri falliscono anch'essi con invalid_input, così una cella sbagliata di un foglio di calcolo non diventa mai una risposta errata in silenzio.

Come vengono letti resti e moduli e come il CRT successivo resta esatto

Ogni modulo deve essere un intero positivo sicuro. I resti possono essere negativi e vengono ridotti nell'intervallo canonico prima della fusione. Internamente il motore parte dalla prima congruenza e fonde ripetutamente la successiva: dato x ≡ x0 mod m e x ≡ a mod n, calcola g uguale all'MCD di m e n, respinge il sistema se a meno x0 non è divisibile per g, poi costruisce la soluzione aggiornata con un inverso modulare di m su g modulo n su g e moltiplica il modulo per n su g per ottenere il nuovo mcm. Tutte le moltiplicazioni sono protette così che il prodotto e il modulo CRT intermedio restino entro gli interi sicuri di JavaScript; prodotti sovradimensionati falliscono chiaramente invece di andare in overflow. I campi preferiti sono remainders e moduli come array JSON di interi di uguale lunghezza. Gli alias a, ai e residues corrispondono a remainders; n, ni e mods corrispondono a moduli, così che moduli, stringhe di query e notebook legacy possano riusare un unico contratto. Ogni voce può essere un intero JSON o una stringa decimale con un segno iniziale opzionale; frazioni, notazione scientifica e spazi incorporati vengono respinti.

Dove compaiono i sistemi CRT nello studio, nell'intuizione crittografica e nel codice

Gli sviluppatori usano lo stesso contratto per validare ricostruzioni modulari in dimostrazioni educative di RSA, per costruire vettori di test deterministici per librerie di aritmetica modulare, e per verificare che una pipeline di resti si sollevi ancora a una singola classe dopo un cambio di schema. In questa pagina il lavoro gira interamente nel tuo browser; tramite l'API ogni risoluzione riuscita costa $0.002, la validazione fallita non viene addebitata e nulla viene conservato dopo la restituzione della risposta.

Ricostruzione modulare in dimostrazioni didattiche

Solleva liste di resti a una singola classe intera quando spieghi isomorfismi di anelli, puzzle di calendario o passaggi CRT educativi in stile RSA.

Fixture di test deterministiche per librerie modulari

Genera soluzioni CRT riproducibili per test unitari e asserzioni CI senza incorporare tabelle calcolate a mano che divergono dall'implementazione.

Quanto costa il risolutore del teorema cinese del resto?

È gratuito nel browser su questa pagina. Tramite l'API una richiesta riuscita costa $0.002; gli input non validi non vengono addebitati.

Cosa succede se il sistema è incoerente?

La richiesta fallisce con invalid_input e un messaggio che indica che nessun intero x soddisfa l'intero sistema perché i resti sono in disaccordo modulo l'MCD dei moduli.

I resti negativi sono ammessi?

Sì. I resti possono essere negativi; vengono ridotti nell'intervallo da zero a n_i meno uno prima della fusione CRT. I moduli devono essere interi positivi.

Leggi la documentazione completa del KIT →