Descarcă aplicația
Selectează un dosar și cere asistentului să citească fișierele relevante înainte de editare. Definește obiectivul și limitele sarcinii.
Combină până la opt congruențe cu resturi în ±10^9 și module coprime două câte două de la 2 la 10^6. Testează resturi negative și intrare goală, respinge booleene sau factori comuni și întoarce cea mai mică soluție nenegativă cu perioada sa.
Selectează un dosar și cere asistentului să citească fișierele relevante înainte de editare. Definește obiectivul și limitele sarcinii.
Alege un endpoint compatibil. Instrumentele disponibile și calitatea răspunsurilor depind de modelul și serverul configurate.
Verifică modificările și rezultatele comenzilor. Rulează verificările proiectului înainte de acceptare; codul generat nu este testat automat.
Compară comportamentul real cu rezultatul așteptat. Dacă o verificare eșuează, cercetează cauza înainte de alte modificări.
import math
def merge_congruences(pairs):
if type(pairs) is not list or len(pairs) > 8:
raise ValueError("crt.input")
answer, period = 0, 1
for pair in pairs:
if type(pair) not in (list, tuple) or len(pair) != 2 or any(type(x) is not int for x in pair):
raise ValueError("crt.pair")
residue, modulus = pair
if abs(residue) > 10**9 or not 2 <= modulus <= 10**6 or math.gcd(period, modulus) != 1:
raise ValueError("crt.modulus")
step = ((residue-answer)*pow(period, -1, modulus)) % modulus
answer += period*step
period *= modulus
answer %= period
return answer, period
Verifică înainte de aplicare. Verifică modificările și rezultatele comenzilor. Rulează verificările proiectului înainte de acceptare; codul generat nu este testat automat.