Vor dem Anwenden prüfen
Vergleichen Sie das tatsächliche Verhalten mit dem erwarteten Ergebnis. Klären Sie fehlgeschlagene Prüfungen vor weiteren Änderungen.
Berechnen Sie eine ganzzahlige Potenz modulo einer positiven Ganzzahl durch wiederholtes Quadrieren.
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 resultVergleichen Sie das tatsächliche Verhalten mit dem erwarteten Ergebnis. Klären Sie fehlgeschlagene Prüfungen vor weiteren Änderungen.
Richten Sie einen OpenAI-kompatiblen oder Anthropic-Endpunkt mit Basis-URL und gegebenenfalls API-Schlüssel ein. Testen Sie die Verbindung. Ein lokaler Modellserver muss laufen; entfernte Werkzeuge können Daten separat übertragen.
Prüfen Sie negative Basen, Exponent null und Modul eins und weisen Sie negative Exponenten sowie nicht ganzzahlige oder boolesche Operanden vor der Multiplikation zurück.
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