BBezoutVale
Ambiente de programação com IA

Coeficientes inteiros de Bézout

Retorne o máximo divisor comum não negativo e coeficientes de Bézout para dois inteiros com menos de 101 dígitos decimais.

● ● ●BezoutVale●
Fluxos de trabalho · Coeficientes inteiros 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)
✳Retorne o máximo divisor comum não negativo e coeficientes de Bézout para dois inteiros com menos de 101 dígitos decimais.
✓ AlteraçõesRevise antes de aplicar ↗
Ilustração do ambiente
01

Revise antes de aplicar

Compare o comportamento real com o resultado esperado. Se uma verificação falhar, investigue a causa antes de fazer outras alterações.

02

Modelos

Configure um endpoint compatível com OpenAI ou Anthropic com a URL base e uma chave API, quando necessária. Teste a conexão. O servidor local precisa estar em execução; ferramentas remotas podem transmitir dados separadamente.

03

Projeto

Teste operandos negativos e os casos de zero, verificando a identidade inteira e rejeitando booleanos.

Fluxos de trabalho

Coeficientes inteiros de Bézout

Fluxos de trabalho ↗
Fluxos de trabalho
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)
Ambiente de programação com IA

Revise o contrato de retorno com o mesmo cuidado que o cálculo

BezoutVale é um software de programação para Windows para examinar rotinas auxiliares cujas saídas precisam satisfazer um contrato preciso. Abra o projeto e descreva o que o código chamador espera de cada valor retornado. Peça ao modelo que examine essa interface antes de propor uma refatoração, principalmente quando várias saídas podem parecer plausíveis isoladamente.

Uma tarefa baseada em bezout.py pode se concentrar em entradas com sinal e nos coeficientes retornados com um divisor comum. Traga um caso de teste com entrada negativa para a conversa e declare a identidade que o resultado deve satisfazer. Revise como o código chamador consome a tupla, para que um retorno reordenado ou uma convenção de sinais alterada não passe despercebido por trás de uma aritmética aparentemente correta.

Use verificações independentes para avaliar a proposta. Execute os testes do projeto e examine combinações de entradas zero, variações de sinal e a rejeição de operandos não suportados. Mantenha as evidências associadas ao requisito original. A explicação de um modelo pode orientar a revisão, mas a aplicação precisa de resultados que satisfaçam tanto a relação matemática quanto a interface que ela realmente chama.

Escolha o modelo por um endpoint suportado compatível com OpenAI ou da Anthropic, fornecendo credenciais conforme necessário. Um modelo de IA sem censura pode estar disponível nesse serviço, sujeito às restrições do provedor. O suporte a ferramentas e a capacidade de contexto dependem do modelo e do servidor selecionados; limite a discussão do código ao que pode ser examinado de forma confiável na sessão.

Perguntas para uma interface aritmética com vários valores

Duas implementações corretas precisam retornar coeficientes idênticos?

Não necessariamente. Estabeleça quais propriedades a aplicação exige e se ela depende de uma representação específica. Uma verificação de igualdade da tupla inteira pode ser mais restritiva que o contrato. Revise o código chamador antes de alterar a rotina ou seus testes.

Por que examinar entradas negativas separadamente?

O tratamento de sinais pode preservar um divisor plausível enquanto viola a relação que envolve os coeficientes. Forneça casos com sinal e verifique a relação definidora de forma independente. Revise qualquer normalização no limite de entrada para que os valores retornados ainda se refiram aos operandos originais.

O que deve acontecer quando as duas entradas são zero?

Declare o resultado pretendido ou a política de rejeição e compare com a implementação e o código chamador atuais. Não presuma que o raciocínio sobre entradas positivas comuns resolva o caso zero. Inclua-o explicitamente na revisão para que refatorações futuras preservem o contrato escolhido.

Posso solicitar uma limpeza sem mudar as convenções de retorno?

Sim. Inclua na solicitação a ordem atual da tupla, os tipos aceitos e as regras de sinal, e peça uma alteração delimitada. Examine o diff resultante em busca de validação alterada ou saídas reordenadas e execute verificações do contrato antes de aceitar a limpeza no projeto.

Baixar para Windows ↗

BezoutVale · Atualizado 2026-10-25