CCongrua
İş akışları

Kodlama iş akışları · İkişer aralarında asal kongrüansları birleştirme

03
Ürün

İş akışları

Kalıntıları ±10^9 içinde, aralarında asal modülleri 2 ile 10^6 arasında olan en fazla sekiz kongrüansı birleştirin. Negatif kalıntıları ve boş girdiyi sınayın; Boolean bileşenleri veya ortak çarpanları reddedip en küçük negatif olmayan çözümü ve birleşik periyodu döndürün.

01

Uygulamayı indirin

Bir klasör seçin ve düzenlemeden önce ilgili dosyaları okumasını asistandan isteyin. Görevin hedefini ve sınırlarını belirleyin.

02

Proje klasörünü açın

Uyumlu bir endpoint seçin. Kullanılabilir araçlar ve yanıt kalitesi, yapılandırılan modele ve sunucuya bağlıdır.

03

Modeli bağlayıp test edin

Değişiklikleri ve komut çıktılarını inceleyin. Sonucu kabul etmeden önce proje kontrollerini çalıştırın; üretilen kod otomatik olarak test edilmiş değildir.

04

Değişiklikleri inceleyip testleri çalıştırın

Gerçek davranışı beklenen sonuçla karşılaştırın. Bir kontrol başarısız olursa yeni değişikliklerden önce nedenini araştırın.

İkişer aralarında asal kongrüansları birleştirme

İş akışları
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

Uygulamadan önce inceleyin. Değişiklikleri ve komut çıktılarını inceleyin. Sonucu kabul etmeden önce proje kontrollerini çalıştırın; üretilen kod otomatik olarak test edilmiş değildir.

Yapay zekâ ile kod çalışma alanı

Bir sonraki fikriniz burada başlar.

Windows için indir ↗