BBezoutVale
Espace de développement avec IA

Coefficients entiers de Bézout

Renvoyez un pgcd non négatif et les coefficients de Bézout de deux entiers de moins de 101 chiffres décimaux.

● ● ●BezoutVale●
Méthodes de travail · Coefficients entiers de Bézout ×
def bezout(a, b):
    if any(type(v) is not int or abs(v) >= 10**100 for v in (a, b)):
        raise ValueError("integer.range")
    old_r, r = abs(a), abs(b)
    old_s, s, old_t, t = 1, 0, 0, 1
    while r:
        q = old_r // r
        old_r, r = r, old_r - q * r
        old_s, s = s, old_s - q * s
        old_t, t = t, old_t - q * t
    return old_r, old_s * (-1 if a < 0 else 1), old_t * (-1 if b < 0 else 1)
✳Renvoyez un pgcd non négatif et les coefficients de Bézout de deux entiers de moins de 101 chiffres décimaux.
✓ ModificationsVérifiez avant d’appliquer ↗
Illustration de l’espace de travail
01

Vérifiez avant d’appliquer

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

02

Modèles

Configurez un endpoint compatible OpenAI ou Anthropic avec son URL de base et une clé API si nécessaire. Testez la connexion. Un serveur local doit fonctionner ; les outils distants peuvent transmettre des données séparément.

03

Projet

Testez opérandes négatifs et cas nuls, en vérifiant l’identité entière et en rejetant les booléens.

Méthodes de travail

Coefficients entiers de Bézout

Méthodes de travail ↗
Méthodes de travail
def bezout(a, b):
    if any(type(v) is not int or abs(v) >= 10**100 for v in (a, b)):
        raise ValueError("integer.range")
    old_r, r = abs(a), abs(b)
    old_s, s, old_t, t = 1, 0, 0, 1
    while r:
        q = old_r // r
        old_r, r = r, old_r - q * r
        old_s, s = s, old_s - q * s
        old_t, t = t, old_t - q * t
    return old_r, old_s * (-1 if a < 0 else 1), old_t * (-1 if b < 0 else 1)
Espace de développement avec IA

Examinez le contrat de retour aussi soigneusement que le calcul

BezoutVale est un logiciel de programmation pour Windows permettant d’examiner les fonctions auxiliaires dont les sorties doivent respecter un contrat précis. Ouvrez le projet et décrivez ce que l’appelant attend de chaque valeur retournée. Demandez au modèle d’examiner cette interface avant de proposer une refactorisation, surtout lorsque plusieurs sorties peuvent sembler plausibles isolément.

Une tâche fondée sur bezout.py peut porter sur les entrées signées et les coefficients retournés avec un diviseur commun. Apportez un cas d’entrée négative à la conversation et énoncez l’identité que le résultat doit satisfaire. Examinez ensuite comment l’appelant consomme le tuple, afin qu’un réordonnancement des valeurs ou une nouvelle convention de signe ne passe pas inaperçu derrière une arithmétique apparemment correcte.

Utilisez des vérifications indépendantes pour évaluer la proposition. Exécutez les tests du projet et examinez les combinaisons d’entrées nulles, les variations de signe et le rejet des opérandes non pris en charge. Gardez les preuves liées à l’exigence d’origine. L’explication d’un modèle peut guider la revue, mais l’application a besoin de résultats satisfaisant à la fois la relation mathématique et l’interface réellement appelée.

Choisissez votre modèle via un point de terminaison compatible OpenAI ou Anthropic pris en charge, en fournissant les identifiants requis. Un modèle d’IA sans censure peut être disponible auprès de ce service, sous réserve des restrictions du fournisseur. Les outils pris en charge et la capacité de contexte dépendent du modèle et du serveur choisis ; limitez la discussion aux sources qui peuvent être examinées de manière fiable dans la session.

Questions sur une interface arithmétique à plusieurs valeurs

Deux implémentations correctes doivent-elles retourner des coefficients identiques ?

Pas nécessairement. Établissez les propriétés requises par l’application et si elle dépend d’une représentation particulière. Une assertion d’égalité sur tout un tuple peut être plus stricte que le contrat. Examinez l’appelant avant de modifier la routine ou ses tests.

Pourquoi examiner séparément les entrées négatives ?

Le traitement des signes peut préserver un diviseur plausible tout en rompant la relation impliquant les coefficients. Fournissez des tests signés et vérifiez indépendamment la relation définissante. Examinez toute normalisation à l’entrée afin que les valeurs retournées se rapportent toujours aux opérandes d’origine.

Que doit-il se passer lorsque les deux entrées valent zéro ?

Précisez le résultat ou la politique de rejet voulus et comparez-les à l’implémentation actuelle et aux appelants. Ne supposez pas que le raisonnement habituel sur les entrées positives règle le cas nul. Incluez-le explicitement dans la revue pour que les refactorisations ultérieures préservent le contrat choisi.

Puis-je demander un nettoyage sans changer les conventions de retour ?

Oui. Indiquez dans la demande l’ordre actuel du tuple, les types acceptés et les règles de signe, puis demandez une modification limitée. Examinez les différences pour repérer une validation modifiée ou des sorties réordonnées et exécutez des vérifications du contrat avant d’accepter le nettoyage dans votre projet.

Télécharger pour Windows ↗

BezoutVale · Mis à jour 2026-10-25