CCongrua
Alur kerja

Alur kerja pemrograman · Penggabungan kongruensi koprima berpasangan

03
Produk

Alur kerja

Gabungkan hingga delapan kongruensi dengan sisa dalam ±10^9 dan modulus saling prima dari 2 sampai 10^6. Uji sisa negatif serta masukan kosong, tolak komponen Boolean atau faktor bersama, lalu kembalikan solusi nonnegatif terkecil dan periode gabungan.

01

Unduh aplikasi

Pilih folder dan minta asisten membaca berkas terkait sebelum mengeditnya. Tentukan tujuan serta batas tugas.

02

Buka folder proyek

Pilih endpoint yang kompatibel. Alat yang tersedia dan kualitas jawaban bergantung pada model serta server yang digunakan.

03

Hubungkan dan uji model

Tinjau perubahan dan keluaran perintah. Jalankan pemeriksaan proyek sebelum menerima hasilnya; kode yang dihasilkan tidak otomatis sudah diuji.

04

Tinjau perubahan dan jalankan pengujian

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

Penggabungan kongruensi koprima berpasangan

Alur kerja
import math

def merge_congruences(pairs):
    if type(pairs) is not list or len(pairs) > 8:
        raise ValueError("crt.input")
    answer, period = 0, 1
    for pair in pairs:
        if type(pair) not in (list, tuple) or len(pair) != 2 or any(type(x) is not int for x in pair):
            raise ValueError("crt.pair")
        residue, modulus = pair
        if abs(residue) > 10**9 or not 2 <= modulus <= 10**6 or math.gcd(period, modulus) != 1:
            raise ValueError("crt.modulus")
        step = ((residue-answer)*pow(period, -1, modulus)) % modulus
        answer += period*step
        period *= modulus
        answer %= period
    return answer, period

Tinjau sebelum menerapkan. Tinjau perubahan dan keluaran perintah. Jalankan pemeriksaan proyek sebelum menerima hasilnya; kode yang dihasilkan tidak otomatis sudah diuji.

Ruang kerja kode dengan AI

Ide berikutnya dimulai di sini.

Unduh untuk Windows ↗