Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [An toàn thông tin] Giải phương trình đồng dư tuyến tính

    Giải ax≡b(modn)ax \equiv b \pmod nax≡b(modn)

    Phương trình đồng dư tuyến tính ax≡b(modn)ax\equiv b\pmod nax≡b(modn) có nghiệm khi và chỉ khi g=gcd⁡(a,n)g=\gcd(a,n)g=gcd(a,n) chia hết bbb. Khi đó có đúng ggg nghiệm phân biệt modulo nnn.

    Cho aaa, bbb, nnn:

    • Nếu vô nghiệm, in −1-1−1.
    • Nếu có nghiệm, in số nghiệm ggg trên dòng đầu; dòng thứ hai in ggg nghiệm tăng dần trong [0,n)[0,n)[0,n), cách nhau bởi dấu cách.

    Ví dụ

    6x≡4(mod8)6x\equiv 4\pmod 86x≡4(mod8) có g=gcd⁡(6,8)=2g=\gcd(6,8)=2g=gcd(6,8)=2 chia hết 444, hai nghiệm là 222 và 666.

    • Định dạng đầu vào:

      Một dòng gồm ba số nguyên aaa, bbb, nnn.

    • Ràng buộc đầu vào:

      1≤a<1091 \le a < 10^{9}1≤a<109, 0≤b<1090 \le b < 10^{9}0≤b<109, 2≤n<1092 \le n < 10^{9}2≤n<109.

    • Định dạng đầu ra:

      Hoặc −1-1−1 (vô nghiệm), hoặc dòng đầu là số nghiệm ggg, dòng sau là ggg nghiệm tăng dần.

    Ví dụ:

    Đầu vào:

    6 4 8
    

    Đầu ra:

    2
    2 6

    Giải thích:

    gcd(6,8)=2 | 4, hai nghiệm 2 và 6 vì 6·2=12≡4, 6·6=36≡4 (mod 8).

    Đang tải editor...