CCongrua
Méthodes de travail

Méthodes de développement · Fusion de congruences premières entre elles

03
Produit

Méthodes de travail

Fusionnez au plus huit congruences de résidus dans ±10^9 et de modules premiers entre eux de 2 à 10^6. Testez les résidus négatifs et le vide, rejetez booléens ou facteurs communs et renvoyez la plus petite solution positive ou nulle avec sa période.

01

Téléchargez l’application

Sélectionnez un dossier et demandez à l’assistant de lire les fichiers concernés avant de les modifier. Définissez le résultat attendu et les limites de la tâche.

02

Ouvrez le dossier du projet

Choisissez un endpoint compatible. Les outils disponibles et la qualité des réponses dépendent du modèle et du serveur utilisés.

03

Connectez et testez le modèle

Examinez les changements et les sorties de commandes. Lancez les vérifications du projet avant de valider le résultat : le code généré n’est pas testé automatiquement.

04

Examinez les modifications et lancez les tests

Comparez le comportement observé au résultat attendu. Si une vérification échoue, cherchez la cause avant de poursuivre les modifications.

Fusion de congruences premières entre elles

Méthodes de travail
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

Vérifiez avant d’appliquer. Examinez les changements et les sorties de commandes. Lancez les vérifications du projet avant de valider le résultat : le code généré n’est pas testé automatiquement.

Espace de développement avec IA

Votre prochaine idée commence ici.

Télécharger pour Windows ↗