MModuloSprig
Ruang kerja kode dengan AI

Perpangkatan modular bilangan bulat

Hitung pangkat bilangan bulat modulo bilangan bulat positif dengan penguadratan berulang.

● ● ●ModuloSprig●
Alur kerja · Perpangkatan modular bilangan bulat ×
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
✳Hitung pangkat bilangan bulat modulo bilangan bulat positif dengan penguadratan berulang.
✓ PerubahanTinjau sebelum menerapkan ↗
Ilustrasi ruang kerja
01

Tinjau sebelum menerapkan

Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.

02

Model

Atur endpoint kompatibel OpenAI atau Anthropic dengan URL dasar dan kunci API jika diperlukan. Uji koneksi. Server model lokal harus berjalan; alat jarak jauh dapat mengirim data secara terpisah.

03

Proyek

Uji basis negatif, pangkat nol dan modulus satu, serta tolak pangkat negatif dan operand bukan bilangan bulat atau Boolean sebelum perkalian.

Alur kerja

Perpangkatan modular bilangan bulat

Alur kerja ↗
Alur kerja
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
Ruang kerja kode dengan AI

Ide berikutnya dimulai di sini.

Unduh untuk Windows ↗