MModuloSprig
Ambiente de programação com IA

Exponenciação modular inteira

Calcule uma potência inteira módulo um inteiro positivo por quadrados sucessivos.

● ● ●ModuloSprig●
Fluxos de trabalho · Exponenciação modular inteira ×
def mod_power(base, exponent, modulus):
    if any(type(v) is not int for v in (base, exponent, modulus)):
        raise ValueError("operand.integer")
    if exponent < 0 or modulus <= 0:
        raise ValueError("operand.range")
    result = 1 % modulus
    base %= modulus
    while exponent:
        if exponent & 1:
            result = result * base % modulus
        base = base * base % modulus
        exponent >>= 1
    return result
✳Calcule uma potência inteira módulo um inteiro positivo por quadrados sucessivos.
✓ 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 bases negativas, expoente zero e módulo um, rejeitando expoentes negativos e operandos não inteiros ou booleanos antes da multiplicação.

Fluxos de trabalho

Exponenciação modular inteira

Fluxos de trabalho ↗
Fluxos de trabalho
def mod_power(base, exponent, modulus):
    if any(type(v) is not int for v in (base, exponent, modulus)):
        raise ValueError("operand.integer")
    if exponent < 0 or modulus <= 0:
        raise ValueError("operand.range")
    result = 1 % modulus
    base %= modulus
    while exponent:
        if exponent & 1:
            result = result * base % modulus
        base = base * base % modulus
        exponent >>= 1
    return result
Ambiente de programação com IA

Seu próximo projeto começa aqui.

Baixar para Windows ↗