MModuloSprig
AI-werkruimte voor code

Gehele modulaire machtsverheffing

Bereken een gehele macht modulo een positief geheel getal door herhaald kwadrateren.

● ● ●ModuloSprig●
Werkprocessen · Gehele modulaire machtsverheffing ×
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
✳Bereken een gehele macht modulo een positief geheel getal door herhaald kwadrateren.
✓ WijzigingenControleer vóór het toepassen ↗
Illustratie van de werkruimte
01

Controleer vóór het toepassen

Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.

02

Modellen

Stel een OpenAI-compatibel of Anthropic-endpoint in met de basis-URL en zo nodig een API-sleutel. Test de verbinding. Een lokale modelserver moet actief zijn; externe hulpmiddelen kunnen apart gegevens versturen.

03

Project

Test negatieve grondtallen, exponent nul en modulus één en weiger negatieve exponenten en niet-gehele of booleaanse operanden vóór vermenigvuldiging.

Werkprocessen

Gehele modulaire machtsverheffing

Werkprocessen ↗
Werkprocessen
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
AI-werkruimte voor code

Je volgende idee begint hier.

Download voor Windows ↗