CCongrua
Fluxuri de lucru

Fluxuri de programare · Combinarea congruențelor coprime două câte două

03
Produs

Fluxuri de lucru

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.

01

Descarcă aplicația

Selectează un dosar și cere asistentului să citească fișierele relevante înainte de editare. Definește obiectivul și limitele sarcinii.

02

Deschide dosarul proiectului

Alege un endpoint compatibil. Instrumentele disponibile și calitatea răspunsurilor depind de modelul și serverul configurate.

03

Conectează și testează modelul

Verifică modificările și rezultatele comenzilor. Rulează verificările proiectului înainte de acceptare; codul generat nu este testat automat.

04

Verifică modificările și rulează testele

Compară comportamentul real cu rezultatul așteptat. Dacă o verificare eșuează, cercetează cauza înainte de alte modificări.

Combinarea congruențelor coprime două câte două

Fluxuri de lucru
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.

Spațiu de programare cu AI

Următoarea idee începe aici.

Descarcă pentru Windows ↗